You are required to design and implement a simple personal profile web application that performs the following:
Collects user information as follows:
Full Name, Student ID, Academic Program, Email, and Hobbies. (Textfield)
A Professional Bio section (Textarea).
Implement a Java Servlet (ProfileController.java) that:
Intercepts the POST request.
Validates that the Email is in the correct format and fields are not empty.
Use a JSP page (display.jsp) to display the data.
Use CSS to display the profile like a digital business card.
Demonstrate the use of request.getAttribute() and request.getRequestDispatcher().
The web page should look presentable and reflect your creativity (use of color, layout, simple CSS, etc.).
Ensure your web application demonstrates interaction between the HTML form, Servlet, and JSP.
You are required to enhance your Assignment 1 Profile Application into a complete Profile Management System with the following components:
Model:
Database: Set up a MySQL or PostgreSQL database named student_db.
JavaBean: Create Profile.java. This must follow the POJO (Plain Old Java Object) pattern with private attributes and public getters/setters.
Data Access: Implement a ProfileDAO.java (Data Access Object) to handle all JDBC operations (Connection, Insert, Select). This separates your SQL logic from your Servlet logic.
Controller: Modify ProfileController Servlet to:
Capture form data and populate the Profile JavaBean.
Call the ProfileDAO to save the object into the profiles table.
Redirect the user to a Success page or a list view.
View:
profile.jsp: Displays a single user’s success message and their specific data.
view-all.jsp: Uses JSTL (<c:forEach>) to iterate through a List of profiles retrieved from the database and display them in a clean HTML table.
Add one unique feature to make your project distinct from others, such as:
Live Search: A search bar on the view-all.jsp that filters profiles by Name or Program.
Profile Image Upload: Allow users to upload a profile picture (saved as a file path in the database).
Export to PDF: A button that generates a Resume view of the profile.