A focused migration lab comparing a legacy JSP/JSTL dashboard with an equivalent Jakarta Faces (JSF) component-based dashboard.
Make the JSP-to-JSF modernization story concrete: keep the underlying data and user-facing functionality equivalent, replace view composition with component-based JSF, and establish a disciplined performance measurement process.
- Shared model/service:
DashboardDataandDashboardServicefeed both views. - Legacy JSP:
src/main/webapp/jsp/dashboard.jspuses JSP/JSTL. - Modern JSF:
src/main/webapp/jsf/dashboard.xhtmluses Jakarta Faces components and a view-scoped backing bean. - Benchmark:
performance/benchmark.mddefines a reproducible comparison protocol.
Requirements: Java 17+ and Maven 3.9+.
mvn clean packageDeploy target/jsp2jsf-performance-test.war to a Jakarta EE 10-compatible runtime and open both endpoints.
Run the benchmark under controlled, identical conditions and record the measured results in performance/benchmark.md.
Built a comparative Java web application demonstrating migration from JSP/JSTL to JSF, introduced component-based views, and established a reproducible benchmark for validating frontend render-time improvements.
- No GitHub Actions.
- No external database is required.
- Both implementations render the same representative dashboard data.