reason: Backend architecture and pre-development checklist for Servlet-Service-DAO work.


reason: Place report controller, service, DAO, and entities consistently.


reason: Use MySQL/JDBC aggregate queries and DAO boundaries correctly.


reason: Follow existing servlet/service validation and safe failure patterns.


reason: Consider reporting and maintenance logging conventions without over-scoping.


reason: Maintain layer boundaries and focused verification.


reason: JSP/CSS presentation conventions for server-rendered report pages.


reason: Place report JSPs and shared includes consistently.


reason: Reuse page, card, form, and table UI patterns.


reason: Use request/session state correctly for server-rendered reports.


reason: Keep servlet-to-JSP display contracts explicit and null-safe.


reason: Keep the report UI consistent with existing JSP pages.


reason: Reports span DAO, service, servlet, JSP, and permissions.


reason: Original project requirements include reports and statistics expectations.