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


reason: Required backend package and class placement conventions for new entity, DAO, service, and servlet files.


reason: Required MySQL schema, DAO CRUD, transaction, and data-integrity conventions for borrowing records.


reason: Required Servlet validation and ServiceResult-style failure handling for borrow/return/renew workflows.


reason: Guidance for operation logging and exception tracing for circulation actions.


reason: Layer boundary and review constraints for backend implementation.


reason: Frontend JSP/CSS conventions and pre-development checklist for new circulation screens.


reason: Required JSP and static asset placement conventions.


reason: Existing JSP fragments, forms, tables, and reusable UI conventions.


reason: Server-rendered request/session/form state conventions for validation messages and filters.


reason: JSP/Servlet validation and JavaBean display contracts.


reason: Borrowing spans schema, DAO, service, servlet, JSP, and permissions.


reason: Feature should reuse existing patterns for search criteria, ServiceResult, DAOs, forms, and JSP tables.


reason: Original project requirements include borrowing/return management in the overall library system scope.