Student Attendance System in JSP Java Servlet MySQL

Student Attendance System JSP Java Servlet MySQL

Student Attendance System JSP Java Servlet MySQL

Interested in above project ,Click Below
WhatsApp
Telegram
LinkedIn

If you are looking for a Java EE final year project that covers dual-role portals, PDF report generation, email integration, and a complete attendance workflow — the Student Attendance System built with JSP, Java Servlets, and MySQL is exactly what your examiner wants to see. It handles everything from taking daily attendance and managing leave requests to bulk password resets and downloading six different PDF reports, all running on Apache Tomcat — making it one of the most feature-complete Java web projects available for BCA, MCA, and B.Tech CS students in 2026.

Student Attendance System JSP Java Servlet MySQL

Project Overview

Project NameStudent Attendance System
Presentation LayerJSP (JavaServer Pages) + Bootstrap 3/4 + jQuery
Business LogicJava Servlets (annotation-based @WebServlet)
DatabaseMySQL 8.0 with raw JDBC (no ORM)
Application ServerApache Tomcat 8.0
Java VersionJava SE 8 (JRE 1.8)
PDF ReportsiText PDF 5.5.1
EmailJavaMail API — Gmail SMTP / STARTTLS
Build ToolEclipse IDE (no Maven or Gradle required)
Best ForBCA, MCA, B.Tech CS/IT Final Year Students

Key Features

  • Dual portal system — completely separate Admin and Student dashboards with independent login, session management, and navigation, each showing only what that role is allowed to see
  • Full attendance workflow — admin marks each active student as present or absent for the current day, views today’s records, searches by date, and generates monthly summaries per student
  • Leave request management — students submit leave applications with reason and number of days; admin approves or rejects each request and views separate lists of approved, rejected, and pending leaves
  • Six downloadable PDF reports using iText — attendance records, student registrations, active/inactive lists, feedback summaries, approved leaves, and pending leaves all exportable as PDF files
  • Email credential delivery — admin sends auto-generated login credentials to individual students or resets passwords in bulk, with email delivered via Gmail SMTP through the JavaMail API
  • Student feedback and inquiry system — students submit feedback and complaints from their portal; admin reads, responds, and tracks all submissions from the admin panel
  • Session-based authentication — every protected JSP checks for an active session; expired or unauthenticated access is automatically redirected to the correct login page

Technologies Used

LayerTechnologyPurpose
PresentationJSP + Bootstrap 3/4Dynamic web pages and responsive UI layout
Business LogicJava Servlets (@WebServlet)Handle all form submissions, login, and data processing
DatabaseMySQL 8.0 + JDBCStore attendance, students, leaves, feedback, and inquiries
App ServerApache Tomcat 8.0Deploy and serve the Java EE web application
PDF GenerationiText PDF 5.5.1Generate and download six types of PDF reports
EmailJavaMail API + Gmail SMTPSend login credentials and password reset emails to students
UI InteractivityjQuery + DataTablesSortable and searchable tables across admin and student portals
Icons / ChartsFont Awesome + Morris.jsDashboard icons and attendance trend charts
Sidebar NavMetisMenuCollapsible sidebar navigation menu in admin panel
IDEEclipse IDE for Java EEProject import, build, and deployment to Tomcat

Project Folder Structure

StudentAttendanceSystem/
├── database/
│   └── student_attendance.sql          # Full DB schema + seed data (~120 students)
│
└── StudentAttendanceSystem/            # Eclipse Dynamic Web Project root
    ├── src/
    │   └── com/
    │       ├── attendance/             # Core servlets
    │       │   ├── DatabaseConnection.java
    │       │   ├── AdminLogin.java
    │       │   ├── AdminRegistration.java
    │       │   ├── AdminPasswordChange.java
    │       │   ├── ForgetAdminPassword.java
    │       │   ├── StudentLogin.java
    │       │   ├── StudentRegistration.java
    │       │   ├── StudentPasswordChange.java
    │       │   ├── StudentAttendance.java
    │       │   ├── StudentLeave.java
    │       │   ├── StudentFeedback.java
    │       │   ├── StudentQuery.java
    │       │   ├── ManageStudents.java
    │       │   ├── ManageLeaves.java
    │       │   ├── StudentsRemoval.java
    │       │   ├── PasswordGeneration.java
    │       │   └── PasswordGenerationIndividually.java
    │       ├── email/
    │       │   ├── EmailUtility.java
    │       │   └── EmailSendingServlet.java
    │       └── reports/                # PDF report servlets (iText)
    │           ├── StudentAttendanceReport.java
    │           ├── AllStudentsRegisterReport.java
    │           ├── StudentsActiveOrInactive.java
    │           ├── StudentsFeedbackReport.java
    │           ├── StudentsLeaveApproved.java
    │           └── StudentsLeavePending.java
    │
    └── WebContent/
        ├── index.jsp                   # Admin login and registration
        ├── student_login.jsp           # Student login page
        ├── after_adminLogin.jsp        # Admin dashboard
        ├── after_studentLogin.jsp      # Student dashboard
        ├── logout.jsp
        ├── forgetPassword.jsp
        ├── admin_side_header.jsp
        ├── student_side_header.jsp
        ├── footer.jsp
        ├── css/ js/ images/ fonts/ assets/
        └── WEB-INF/
            ├── web.xml                 # SMTP config, session timeout (5 min)
            └── lib/
                ├── mysql-connector-java-8.0.11.jar
                ├── itextpdf-5.5.1.jar
                ├── mail.jar
                └── gmail.jar

Database Schema

TablePurposeKey Fields
adminAdmin login credentials and profileuname, password, email, mobile
studentsRegistered student records and login infoname, email, uname, password, status (active/inactive)
student_attendanceDaily attendance recordsstudent_id, date, status (present/absent)
student_leaveLeave requests with approval statusstudent_id, reason, days, status (Pending/Approved/Rejected)
student_feedbackStudent feedback submissionsstudent_id, message, date
inquiryStudent complaints and queriesstudent_id, subject, message, admin_reply

Get This Project

Student Attendance System JSP Java Servlet MySQL
Student Attendance System JSP Java Servlet MySQL
Student Attendance System JSP Java Servlet MySQL

This is a complete, ready-to-run paid project. It includes the full Java EE source code, all Servlet and JSP files, the complete MySQL database dump with seed data, Eclipse project configuration, iText PDF library, JavaMail setup guide, and remote setup support from our team.

How to Run This Project

Step 1 — Install prerequisites

Download and install all four tools before starting:

1. Java JDK 8       → https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
2. Apache Tomcat 8.0 → https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.53/bin/
3. MySQL Server 8.0  → https://dev.mysql.com/downloads/mysql/
4. Eclipse IDE (Java EE Developers edition)

Step 2 — Set up the database

# Using MySQL command line:
mysql -u root -p < StudentAttendanceSystem/database/student_attendance.sql

# Or using MySQL Workbench:
# Open Workbench → File → Run SQL Script → select student_attendance.sql → Run

Step 3 — Import the project into Eclipse

Eclipse → File → Import → Existing Projects into Workspace
Browse to: StudentAttendanceSystem/StudentAttendanceSystem/
Click Finish

Step 4 — Configure Tomcat in Eclipse

Window → Preferences → Server → Runtime Environments
Click Add → Apache Tomcat v8.0
Point to your Tomcat installation directory → Finish

Step 5 — Configure database and email credentials

Update src/com/attendance/DatabaseConnection.java if your MySQL password differs from the default:

// Change username and password if needed
Connection con = DriverManager.getConnection(
    "jdbc:mysql://localhost:3306/student_attendance",
    "root",    // your MySQL username
    "root"     // your MySQL password
);

Update WebContent/WEB-INF/web.xml with your Gmail App Password for email features:

<context-param>
    <param-name>user</param-name>
    <param-value>YOUR_GMAIL@gmail.com</param-value>
</context-param>
<context-param>
    <param-name>pass</param-name>
    <param-value>YOUR_GMAIL_APP_PASSWORD</param-value>
</context-param>

Step 6 — Run the project

# In Eclipse:
Right-click project → Run As → Run on Server → Select Tomcat 8.0 → Finish

# Access the application:
Admin portal   → localhost:8080/StudentAttendanceSystem/
Student login  → localhost:8080/StudentAttendanceSystem/student_login.jsp

# Default admin credentials:
Username : kadamk33
Password : java@1991

How It Works

Admin attendance flow

  1. Admin logs in at index.jsp — the servlet validates credentials against the admin table and creates a session with the uname attribute
  2. The dashboard loads live stats — total students, today’s present count, today’s absent count, and total feedback received
  3. Admin opens attendance.jsp — all active students are listed with present/absent radio buttons
  4. On submission, the StudentAttendance servlet inserts one row per student into the student_attendance table with the current date
  5. Admin can then search attendance by any date or generate a monthly report summarising each student’s present and absent days
See also  Vehicle Parking Management System Project

Student leave request flow

  1. Student logs in at student_login.jsp and is redirected to their personal dashboard showing present days, absent days, and total days
  2. Student opens Apply for Leave, fills in the reason and number of days, and submits the form
  3. The StudentLeave servlet inserts the record into student_leave with status set to Pending
  4. Admin sees the request under Manage Leave Requests and either approves or rejects it
  5. Student checks Leave Status on their portal and sees the updated Approved or Rejected status

PDF report generation flow

  1. Admin navigates to Reports in the sidebar and clicks any of the six report types
  2. The corresponding report servlet (e.g., StudentAttendanceReport.java) queries the database and uses iText PDF to build the document in memory
  3. The response content type is set to application/pdf and the file is streamed directly to the browser as a download
  4. Six report types available — attendance records, all student registrations, active/inactive status, feedback submissions, approved leaves, and pending leaves

Email credential delivery flow

  1. Admin clicks Send Credentials or Bulk Password Reset from the admin panel
  2. The PasswordGeneration servlet generates a 10-character alphanumeric password for each student and updates the students table
  3. The EmailSendingServlet reads SMTP settings from web.xml and uses EmailUtility.java to send login credentials to each student’s registered email via Gmail SMTP on port 587 with STARTTLS

Admin and Student Portal Features

Admin PortalStudent Portal
Dashboard with live statsPersonal attendance dashboard
Take daily attendanceView full attendance history
View today’s attendanceApply for leave
Daily and monthly reportsTrack leave status
Register and manage studentsSubmit feedback
Activate or deactivate accountsSubmit inquiry or complaint
Approve or reject leave requestsView admin responses
View student feedback and inquiriesView own profile
Bulk and individual password resetChange own password
Email credentials to studentsLogout
Download 6 types of PDF reports
Admin profile and password change

Why This is a Great Final Year Project

  • Java EE with Servlets and JSP is a core part of most university Java syllabi — this project proves you can build real enterprise applications with it
  • Dual-role portal architecture (Admin + Student) demonstrates role-based access control, a concept interviewers test in every Java placement round
  • iText PDF report generation is a premium feature that very few student projects include — six different downloadable reports will impress any examiner
  • JavaMail API with Gmail SMTP shows real-world email integration — bulk credential delivery and password recovery are features that make this feel like a live production system
  • Pre-loaded with 120 sample student records in the SQL dump — your demo looks polished from the first run with real data already in the system
  • Eclipse-ready project with no Maven or Gradle required — import and run in under 10 minutes on any lab computer during viva
  • Complete workflow coverage — attendance, leaves, feedback, inquiries, reports, and email all in one system means every question an examiner asks has an answer you can demo live

Keyword

  • student attendance system
  • student attendance system using face recognition
  • student attendance system project
  • student attendance system using qr code
    student attendance system face recognition
  • student attendance system er diagram
  • student attendance system website
  • student attendance system using face recognition project
  • student attendance system project github
  • student attendance system github
  • student attendance portal svkm
  • student attendance register
  • student attendance management system
  • student attendance chart
  • Student Attendance Sheet
  • student attendance app
  • student attendance management system project
  • student attendance sheet in excel
  • student attendance system
  • student attendance register cover decoration

🎓 Need Complete Final Year Project?

Get Source Code + Report + PPT + Viva Questions (Instant Access)

🛒 Visit UpdateGadh Store →
💬 Chat Now