An end-to-end Java-based project developed using Eclipse JEE Neon, integrating Console, JDBC, Servlets, and JSP with Apache Derby and Apache Tomcat to manage customers, bills, policies, and complaints.
This is an Insurance Management System developed using Java EE technologies including JSP, Servlets, JDBC, and Apache Derby database. The system provides both console-based and web-based interfaces for managing insurance policies, customers, bills, and complaints.
InsuranceManagementSystem/
β
βββ src/
β βββ model/ - Entity classes
β βββ dao/ - Data Access Objects
β βββ service/ - Business logic
β βββ exceptions/ - Custom exceptions
β βββ thread/ - Thread implementations
β βββ utils/ - Utility classes
β βββ web/ - Servlets
β βββ InsuranceManagementSystem.java <-- Console entry point
β
βββ WebContent/
β βββ WEB-INF/
β β βββ web.xml - Deployment descriptor
β β βββ lib/ - Library JARs <-- derbyclient.jar
β βββ *.jsp - All view pages <-- All JSPs
β
βββ build/
βββ screenshots/ <-- Optional folder for UI screenshots
βββ README.md
| Component | Technology |
|---|---|
| IDE | Eclipse JEE Neon 3 (Win32-x86_64) |
| Language | Java (JDK 8+) |
| Web Layer | JSP, Servlets |
| Backend DB | Apache Derby 10.2.2.0 |
| Server | Apache Tomcat 9.0 |
| JDBC Driver | derbyclient.jar |
| Markup | JSP + external CSS |
| XML | 3.1 |
| Other | JDBC |
- Open Eclipse β
WindowβPreferencesβServerβRuntime Environments - Click
Addβ¦β Select Apache Tomcat v9.0 - Browse Tomcat installation directory and finish.
-
Add
derbyclient.jarto Eclipse classpath:- Right-click project β
Build PathβAdd External Archivesβ¦β Addderbyclient.jar
- Right-click project β
-
Go to
WindowβShow ViewβData Source Explorer -
Add Derby embedded connection with database
jdbc:derby://localhost:1527/db;create=true -
Connection: Open cmd -> Downloads\db-derby-10.10.2.0-bin\bin\startnetworkserver (Type Derby Folder path) & Enter. Default port is '1527'.
- Right-click
InsuranceManagementSystem.javaβRun As β Java Application - Interact with menu: policy listing, customer registration, complaint handling, bill viewing, etc.
- Right-click project β
Run on Server - Login/Register as a customer via
login.jsporregister.jsp - Navigate using top menu: Home, Pay Bill, Register Complaint, Complaint Status, Bill History
-
Create a new Derby database:
- In Eclipse, open the Data Source Explorer view
- Right-click on Databases β New β Derby Connection
- Configure with database name "InsuranceDB" and schema "user"
- Test connection and finish
-
ποΈ SQL Scrapbook Usage
To view/modify Derby DB:
-
Window β Show View β Data Source Explorer -
Connect to Derby β Right-click schema
USERβNew SQL Scrapbook -
Use queries like:
SELECT * FROM "USER"."CUSTOMER"; SELECT * FROM "USER"."BILL";
- Console: Quick testing, threading (bill generation), exception demonstration, inheritance.
- Web (JSP/Servlet): Real-world customer-facing UI for registration, complaints, payments.
- Menu System
- Customer Registration, Search, Email Domain View
- Policy Listing
- Persistent Registration
- Bill Table with Relations
- Complaint Handling
- Threaded Bill Generation
- Inheritance-based Complaints
- Custom Exceptions for validations
- Customer Self-Registration
- Login/Logout
- Pay Bill (with receipt download)
- Complaint Registration/Status
- View Bill History
- View All Complaints (Admin)
- Menu-based console interface
- Policy listing
- Customer registration with validation
- Search customers by email or ID
- View customers by email domain
- Bill management
- Complaint registration
- Customer registration with form validation
- Bill viewing and payment
- Complaint registration and status tracking
- Admin dashboard for managing complaints
- Bill history viewing
- Custom Exceptions:
EmailAlreadyExistException,CustomerNotFoundException - Polymorphism: Bill search by either email or bill number
- Inheritance:
Complaintclass inherits fromConsumer - Multithreading: Concurrent bill generation using
BillGenerationThread - JDBC: Database connectivity with connection pooling
- Servlet/JSP: MVC architecture for web interface
System Requirements:
- User Roles & UI: Role-based interfaces (Admin, CSR, Customer) with mobile-responsive design (Bootstrap/React)
- Security:
- Spring Security for authentication
- Email OTP verification
- Backend:
- Spring Boot REST API
- Dependency injection (Spring Framework)
- Hibernate ORM
- Features:
- PDF generation for bills/receipts
- Payment gateway integration
- Enhanced reporting
- Quality Assurance:
- Unit testing (JUnit/TestNG)
Key improvements:
- Merged REST API conversion with Spring Boot implementation
- Grouped all security-related items
- Consolidated frontend technologies under UI
- Removed redundant "implementation" verbs
- Organized by logical categories (UI, Security, Backend, etc.)
(Screenshots in a screenshots folder to demonstrate the application flow)
- The console application is designed for administrative tasks
- The web application provides customer-facing features
- Derby database stores all persistent data
- Tomcat serves as the servlet container for the web application
- Ensure all required JARs are in WEB-INF/lib
- Check database connection parameters in
DatabaseUtility.java - Verify Tomcat server configuration
- Ensure proper JDK version is configured in Eclipse