Minimal Java Servlet/JSP application for COMP 351 Activity 2:
- simple interface for insert/update/delete
- basic role-based access control (Admin/Custodian)
- database-backed records view for demonstration
- Java 11
- Maven (WAR project)
- Jakarta EE 10 (Servlet/JSP)
- MySQL 8+
- Apache Tomcat 10.1+
Run these SQL files in MySQL Workbench (in order):
src/main/resources/database/schema.sqlsrc/main/resources/database/sample_data.sql
Optional security evidence script:
sql/activity2_security_setup.sql(only if your MySQL account can create users/grants)
- Copy
src/main/resources/db.properties.exampletosrc/main/resources/db.properties - Put your real MySQL credentials in
db.properties
db.properties is gitignored and should not be committed.
Build:
mvn clean package -DskipTestsDeploy:
- Deploy
target/hostel-1.0-SNAPSHOT.warto Tomcat 10.1+ (or run from NetBeans with configured Tomcat)
Seeded accounts from sample_data.sql:
- Admin:
user_id = 1, passwordadmin123 - Custodian:
user_id = 2, passwordcust123
/login- login page/admin- action menu with CRUD forms:- Add Student
- Add Booking
- Update Booking Status
- Delete Payment
/records- current database records (students, bookings, payments)
- Rejects future dates
- Rejects numeric characters in names
- Validates phone format
- Validates booking status and academic year format
- Validates positive numeric IDs