In this post I am gonna to share full source code of Hospital Management System Java Project . This is java j2ee servlet, JSP, Project.
Guys if you want to learn this project , I have uploaded full tutorials in YouTube you can watch. Link
Content
- Technology Used
- Structure
- Hospital Management System Source Code
- Conclusion
Technology Used
Frontend – HTML, CSS, JS, Bootstrap , JSP , FontAwsome
Backend – Servlet , JDBC
Server – Apache Tomcat
Database – MySQL
Tools – Eclipse , MySQL workbench
Structure
Hospital Management System Source Code
Backend Code :
package com.admin.servlet
package com.admin.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.dao.DoctorDao;
import com.db.DBConnect;
import com.entity.Doctor;
@WebServlet("/addDoctor")
public class AddDoctor extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
try {
String fullName = req.getParameter("fullname");
String dob = req.getParameter("dob");
String qualification = req.getParameter("qualification");
String spec = req.getParameter("spec");
String email = req.getParameter("email");
String mobno = req.getParameter("mobno");
String password = req.getParameter("password");
Doctor d = new Doctor(fullName, dob, qualification, spec, email, mobno, password);
DoctorDao dao = new DoctorDao(DBConnect.getConn());
HttpSession session = req.getSession();
if (dao.registerDoctor(d)) {
session.setAttribute("succMsg", "Doctor Added Sucessfully..");
resp.sendRedirect("admin/doctor.jsp");
} else {
session.setAttribute("errorMsg", "something wrong on server");
resp.sendRedirect("admin/doctor.jsp");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
package com.admin.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.dao.SpecialistDao;
import com.db.DBConnect;
import com.entity.User;
@WebServlet("/addSpecialist")
public class AddSpecialist extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String specName = req.getParameter("specName");
SpecialistDao dao = new SpecialistDao(DBConnect.getConn());
boolean f = dao.addSpecialist(specName);
HttpSession session = req.getSession();
if (f) {
session.setAttribute("succMsg", "Specialist Added");
resp.sendRedirect("admin/index.jsp");
} else {
session.setAttribute("errorMsg", "something wrong on server");
resp.sendRedirect("admin/index.jsp");
}
}
}
package com.admin.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.entity.User;
@WebServlet("/adminLogin")
public class AdminLogin extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
try {
String email = req.getParameter("email");
String password = req.getParameter("password");
HttpSession session = req.getSession();
if ("admin@gmail.com".equals(email) && "admin".equals(password)) {
session.setAttribute("adminObj", new User());
resp.sendRedirect("admin/index.jsp");
} else {
session.setAttribute("errorMsg", "invalid email & password");
resp.sendRedirect("admin_login.jsp");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
package com.admin.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/adminLogout")
public class AdminLogout extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
HttpSession session = req.getSession();
session.removeAttribute("adminObj");
session.setAttribute("succMsg", "Admin Logout Sucessfully");
resp.sendRedirect("admin_login.jsp");
}
}
package com.admin.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.dao.DoctorDao;
import com.db.DBConnect;
@WebServlet("/deleteDoctor")
public class DeleteDoctor extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
int id = Integer.parseInt(req.getParameter("id"));
DoctorDao dao = new DoctorDao(DBConnect.getConn());
HttpSession session = req.getSession();
if (dao.deleteDoctor(id)) {
session.setAttribute("succMsg", "Doctor Delete Sucessfully..");
resp.sendRedirect("admin/view_doctor.jsp");
} else {
session.setAttribute("errorMsg", "something wrong on server");
resp.sendRedirect("admin/view_doctor.jsp");
}
}
}
package com.admin.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.dao.DoctorDao;
import com.db.DBConnect;
import com.entity.Doctor;
@WebServlet("/updateDoctor")
public class UpdateDoctor extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
try {
String fullName = req.getParameter("fullname");
String dob = req.getParameter("dob");
String qualification = req.getParameter("qualification");
String spec = req.getParameter("spec");
String email = req.getParameter("email");
String mobno = req.getParameter("mobno");
String password = req.getParameter("password");
int id = Integer.parseInt(req.getParameter("id"));
Doctor d = new Doctor(id,fullName, dob, qualification, spec, email, mobno, password);
DoctorDao dao = new DoctorDao(DBConnect.getConn());
HttpSession session = req.getSession();
if (dao.updateDoctor(d)) {
session.setAttribute("succMsg", "Doctor Update Sucessfully..");
resp.sendRedirect("admin/view_doctor.jsp");
} else {
session.setAttribute("errorMsg", "something wrong on server");
resp.sendRedirect("admin/view_doctor.jsp");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
package com.dao
package com.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.entity.Appointment;
public class AppointmentDAO {
private Connection conn;
public AppointmentDAO(Connection conn) {
super();
this.conn = conn;
}
public boolean addAppointment(Appointment ap) {
boolean f = false;
try {
String sql = "insert into appointment(user_id,fullname,gender,age,appoint_date,email,phno,diseases,doctor_id,address,status) values(?,?,?,?,?,?,?,?,?,?,?)";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, ap.getUserId());
ps.setString(2, ap.getFullName());
ps.setString(3, ap.getGender());
ps.setString(4, ap.getAge());
ps.setString(5, ap.getAppoinDate());
ps.setString(6, ap.getEmail());
ps.setString(7, ap.getPhNo());
ps.setString(8, ap.getDiseases());
ps.setInt(9, ap.getDoctorId());
ps.setString(10, ap.getAddress());
ps.setString(11, ap.getStatus());
int i = ps.executeUpdate();
if (i == 1) {
f = true;
}
} catch (Exception e) {
e.printStackTrace();
}
return f;
}
public List<Appointment> getAllAppointmentByLoginUser(int userId) {
List<Appointment> list = new ArrayList<Appointment>();
Appointment ap = null;
try {
String sql = "select * from appointment where user_id=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, userId);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
ap = new Appointment();
ap.setId(rs.getInt(1));
ap.setUserId(rs.getInt(2));
ap.setFullName(rs.getString(3));
ap.setGender(rs.getString(4));
ap.setAge(rs.getString(5));
ap.setAppoinDate(rs.getString(6));
ap.setEmail(rs.getString(7));
ap.setPhNo(rs.getString(8));
ap.setDiseases(rs.getString(9));
ap.setDoctorId(rs.getInt(10));
ap.setAddress(rs.getString(11));
ap.setStatus(rs.getString(12));
list.add(ap);
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
public List<Appointment> getAllAppointmentByDoctorLogin(int doctorId) {
List<Appointment> list = new ArrayList<Appointment>();
Appointment ap = null;
try {
String sql = "select * from appointment where doctor_id=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, doctorId);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
ap = new Appointment();
ap.setId(rs.getInt(1));
ap.setUserId(rs.getInt(2));
ap.setFullName(rs.getString(3));
ap.setGender(rs.getString(4));
ap.setAge(rs.getString(5));
ap.setAppoinDate(rs.getString(6));
ap.setEmail(rs.getString(7));
ap.setPhNo(rs.getString(8));
ap.setDiseases(rs.getString(9));
ap.setDoctorId(rs.getInt(10));
ap.setAddress(rs.getString(11));
ap.setStatus(rs.getString(12));
list.add(ap);
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
public Appointment getAppointmentById(int id) {
Appointment ap = null;
try {
String sql = "select * from appointment where id=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, id);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
ap = new Appointment();
ap.setId(rs.getInt(1));
ap.setUserId(rs.getInt(2));
ap.setFullName(rs.getString(3));
ap.setGender(rs.getString(4));
ap.setAge(rs.getString(5));
ap.setAppoinDate(rs.getString(6));
ap.setEmail(rs.getString(7));
ap.setPhNo(rs.getString(8));
ap.setDiseases(rs.getString(9));
ap.setDoctorId(rs.getInt(10));
ap.setAddress(rs.getString(11));
ap.setStatus(rs.getString(12));
}
} catch (Exception e) {
e.printStackTrace();
}
return ap;
}
public boolean updateCommentStatus(int id, int doctId, String comm) {
boolean f = false;
try {
String sql = "update appointment set status=? where id=? and doctor_id=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, comm);
ps.setInt(2, id);
ps.setInt(3, doctId);
int i = ps.executeUpdate();
if (i == 1) {
f = true;
}
} catch (Exception e) {
e.printStackTrace();
}
return f;
}
public List<Appointment> getAllAppointment() {
List<Appointment> list = new ArrayList<Appointment>();
Appointment ap = null;
try {
String sql = "select * from appointment order by id desc";
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
ap = new Appointment();
ap.setId(rs.getInt(1));
ap.setUserId(rs.getInt(2));
ap.setFullName(rs.getString(3));
ap.setGender(rs.getString(4));
ap.setAge(rs.getString(5));
ap.setAppoinDate(rs.getString(6));
ap.setEmail(rs.getString(7));
ap.setPhNo(rs.getString(8));
ap.setDiseases(rs.getString(9));
ap.setDoctorId(rs.getInt(10));
ap.setAddress(rs.getString(11));
ap.setStatus(rs.getString(12));
list.add(ap);
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
}
package com.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.entity.Doctor;
public class DoctorDao {
private Connection conn;
public DoctorDao(Connection conn) {
super();
this.conn = conn;
}
public boolean registerDoctor(Doctor d) {
boolean f = false;
try {
String sql = "insert into doctor(full_name,dob,qualification,specialist,email,mobno,password) values(?,?,?,?,?,?,?)";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, d.getFullName());
ps.setString(2, d.getDob());
ps.setString(3, d.getQualification());
ps.setString(4, d.getSpecialist());
ps.setString(5, d.getEmail());
ps.setString(6, d.getMobNo());
ps.setString(7, d.getPassword());
int i = ps.executeUpdate();
if (i == 1) {
f = true;
}
} catch (Exception e) {
e.printStackTrace();
}
return f;
}
public List<Doctor> getAllDoctor() {
List<Doctor> list = new ArrayList<Doctor>();
Doctor d = null;
try {
String sql = "select * from doctor order by id desc";
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
d = new Doctor();
d.setId(rs.getInt(1));
d.setFullName(rs.getString(2));
d.setDob(rs.getString(3));
d.setQualification(rs.getString(4));
d.setSpecialist(rs.getString(5));
d.setEmail(rs.getString(6));
d.setMobNo(rs.getString(7));
d.setPassword(rs.getString(8));
list.add(d);
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
public Doctor getDoctorById(int id) {
Doctor d = null;
try {
String sql = "select * from doctor where id=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, id);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
d = new Doctor();
d.setId(rs.getInt(1));
d.setFullName(rs.getString(2));
d.setDob(rs.getString(3));
d.setQualification(rs.getString(4));
d.setSpecialist(rs.getString(5));
d.setEmail(rs.getString(6));
d.setMobNo(rs.getString(7));
d.setPassword(rs.getString(8));
}
} catch (Exception e) {
e.printStackTrace();
}
return d;
}
public boolean updateDoctor(Doctor d) {
boolean f = false;
try {
String sql = "update doctor set full_name=?,dob=?,qualification=?,specialist=?,email=?,mobno=?,password=? where id=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, d.getFullName());
ps.setString(2, d.getDob());
ps.setString(3, d.getQualification());
ps.setString(4, d.getSpecialist());
ps.setString(5, d.getEmail());
ps.setString(6, d.getMobNo());
ps.setString(7, d.getPassword());
ps.setInt(8, d.getId());
int i = ps.executeUpdate();
if (i == 1) {
f = true;
}
} catch (Exception e) {
e.printStackTrace();
}
return f;
}
public boolean deleteDoctor(int id) {
boolean f = false;
try {
String sql = "delete from doctor where id=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, id);
int i = ps.executeUpdate();
if (i == 1) {
f = true;
}
} catch (Exception e) {
e.printStackTrace();
}
return f;
}
public Doctor login(String email, String psw) {
Doctor d = null;
try {
String sql = "select * from doctor where email=? and password=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, email);
ps.setString(2, psw);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
d = new Doctor();
d.setId(rs.getInt(1));
d.setFullName(rs.getString(2));
d.setDob(rs.getString(3));
d.setQualification(rs.getString(4));
d.setSpecialist(rs.getString(5));
d.setEmail(rs.getString(6));
d.setMobNo(rs.getString(7));
d.setPassword(rs.getString(8));
}
} catch (Exception e) {
e.printStackTrace();
}
return d;
}
public int countDoctor() {
int i = 0;
try {
String sql = "select * from doctor";
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
i++;
}
} catch (Exception e) {
e.printStackTrace();
}
return i;
}
public int countAppointment() {
int i = 0;
try {
String sql = "select * from appointment";
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
i++;
}
} catch (Exception e) {
e.printStackTrace();
}
return i;
}
public int countAppointmentByDocotrId(int did) {
int i = 0;
try {
String sql = "select * from appointment where doctor_id=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, did);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
i++;
}
} catch (Exception e) {
e.printStackTrace();
}
return i;
}
public int countUSer() {
int i = 0;
try {
String sql = "select * from user_dtls";
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
i++;
}
} catch (Exception e) {
e.printStackTrace();
}
return i;
}
public int countSpecialist() {
int i = 0;
try {
String sql = "select * from specialist";
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
i++;
}
} catch (Exception e) {
e.printStackTrace();
}
return i;
}
public boolean checkOldPassword(int userid, String oldPassword) {
boolean f = false;
try {
String sql = "select * from doctor where id=? and password=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, userid);
ps.setString(2, oldPassword);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
f = true;
}
} catch (Exception e) {
e.printStackTrace();
}
return f;
}
public boolean changePassword(int userid, String newPassword) {
boolean f = false;
try {
String sql = "update doctor set password=? where id=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, newPassword);
ps.setInt(2, userid);
int i = ps.executeUpdate();
if (i == 1) {
f = true;
}
} catch (Exception e) {
e.printStackTrace();
}
return f;
}
public boolean editDoctorProfile(Doctor d) {
boolean f = false;
try {
String sql = "update doctor set full_name=?,dob=?,qualification=?,specialist=?,email=?,mobno=? where id=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, d.getFullName());
ps.setString(2, d.getDob());
ps.setString(3, d.getQualification());
ps.setString(4, d.getSpecialist());
ps.setString(5, d.getEmail());
ps.setString(6, d.getMobNo());
ps.setInt(7, d.getId());
int i = ps.executeUpdate();
if (i == 1) {
f = true;
}
} catch (Exception e) {
e.printStackTrace();
}
return f;
}
public List<Doctor> searchDoctor(String ch) {
List<Doctor> list = new ArrayList<Doctor>();
Doctor d = null;
try {
String sql = "select * from doctor where full_name like ? or specialist like ?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, "%" + ch + "%");
ps.setString(2, "%" + ch + "%");
ResultSet rs = ps.executeQuery();
while (rs.next()) {
d = new Doctor();
d.setId(rs.getInt(1));
d.setFullName(rs.getString(2));
d.setDob(rs.getString(3));
d.setQualification(rs.getString(4));
d.setSpecialist(rs.getString(5));
d.setEmail(rs.getString(6));
d.setMobNo(rs.getString(7));
d.setPassword(rs.getString(8));
list.add(d);
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
}
package com.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.entity.Specalist;
public class SpecialistDao {
private Connection conn;
public SpecialistDao(Connection conn) {
super();
this.conn = conn;
}
public boolean addSpecialist(String spec) {
boolean f = false;
try {
String sql = "insert into specialist(spec_name) values(?)";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, spec);
int i = ps.executeUpdate();
if (i == 1) {
f = true;
}
} catch (Exception e) {
e.printStackTrace();
}
return f;
}
public List<Specalist> getAllSpecialist() {
List<Specalist> list = new ArrayList<Specalist>();
Specalist s = null;
try {
String sql = "select * from specialist";
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
s = new Specalist();
s.setId(rs.getInt(1));
s.setSpecialistName(rs.getString(2));
list.add(s);
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
}
package com.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import com.entity.User;
public class UserDao {
private Connection conn;
public UserDao(Connection conn) {
super();
this.conn = conn;
}
public boolean register(User u) {
boolean f = false;
try {
String sql = "insert into user_dtls(full_name,email,password) values(?,?,?) ";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, u.getFullName());
ps.setString(2, u.getEmail());
ps.setString(3, u.getPassword());
int i = ps.executeUpdate();
if (i == 1) {
f = true;
}
} catch (Exception e) {
e.printStackTrace();
}
return f;
}
public User login(String em, String psw) {
User u = null;
try {
String sql = "select * from user_dtls where email=? and password=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, em);
ps.setString(2, psw);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
u = new User();
u.setId(rs.getInt(1));
u.setFullName(rs.getString(2));
u.setEmail(rs.getString(3));
u.setPassword(rs.getString(4));
}
} catch (Exception e) {
e.printStackTrace();
}
return u;
}
public boolean checkOldPassword(int userid, String oldPassword) {
boolean f = false;
try {
String sql = "select * from user_dtls where id=? and password=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, userid);
ps.setString(2, oldPassword);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
f = true;
}
} catch (Exception e) {
e.printStackTrace();
}
return f;
}
public boolean changePassword(int userid, String newPassword) {
boolean f = false;
try {
String sql = "update user_dtls set password=? where id=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, newPassword);
ps.setInt(2, userid);
int i = ps.executeUpdate();
if (i == 1) {
f = true;
}
} catch (Exception e) {
e.printStackTrace();
}
return f;
}
}
package com.db
package com.db;
import java.sql.Connection;
import java.sql.DriverManager;
public class DBConnect {
private static Connection conn;
public static Connection getConn() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/hospital_2", "root", "password");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
}
package com.doctor.servlet
package com.doctor.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.dao.DoctorDao;
import com.db.DBConnect;
@WebServlet("/doctChangePassword")
public class DocotrPasswordChange extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
int uid = Integer.parseInt(req.getParameter("uid"));
String oldPassword = req.getParameter("oldPassword");
String newPassword = req.getParameter("newPassword");
DoctorDao dao = new DoctorDao(DBConnect.getConn());
HttpSession session = req.getSession();
if (dao.checkOldPassword(uid, oldPassword)) {
if (dao.changePassword(uid, newPassword)) {
session.setAttribute("succMsg", "Password Change Sucessfully");
resp.sendRedirect("doctor/edit_profile.jsp");
} else {
session.setAttribute("errorMsg", "Something wrong on server");
resp.sendRedirect("doctor/edit_profile.jsp");
}
} else {
session.setAttribute("errorMsg", "Old Password Incorrect");
resp.sendRedirect("doctor/edit_profile.jsp");
}
}
}
package com.doctor.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.dao.DoctorDao;
import com.db.DBConnect;
import com.entity.Doctor;
@WebServlet("/doctorLogin")
public class DoctorLogin extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String email = req.getParameter("email");
String password = req.getParameter("password");
HttpSession session = req.getSession();
DoctorDao dao = new DoctorDao(DBConnect.getConn());
Doctor doctor = dao.login(email, password);
if (doctor != null) {
session.setAttribute("doctObj", doctor);
resp.sendRedirect("doctor/index.jsp");
} else {
session.setAttribute("errorMsg", "invalid email & password");
resp.sendRedirect("doctor_login.jsp");
}
}
}
package com.doctor.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/doctorLogout")
public class DoctorLogout extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
HttpSession session = req.getSession();
session.removeAttribute("doctObj");
session.setAttribute("succMsg", "Doctor Logout Sucessfully");
resp.sendRedirect("doctor_login.jsp");
}
}
package com.doctor.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.dao.DoctorDao;
import com.db.DBConnect;
import com.entity.Doctor;
@WebServlet("/doctorUpdateProfile")
public class EditProfile extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
try {
String fullName = req.getParameter("fullname");
String dob = req.getParameter("dob");
String qualification = req.getParameter("qualification");
String spec = req.getParameter("spec");
String email = req.getParameter("email");
String mobno = req.getParameter("mobno");
int id = Integer.parseInt(req.getParameter("id"));
Doctor d = new Doctor(id, fullName, dob, qualification, spec, email, mobno, "");
DoctorDao dao = new DoctorDao(DBConnect.getConn());
HttpSession session = req.getSession();
if (dao.editDoctorProfile(d)) {
Doctor updateDoctor = dao.getDoctorById(id);
session.setAttribute("succMsgd", "Doctor Update Sucessfully..");
session.setAttribute("doctObj", updateDoctor);
resp.sendRedirect("doctor/edit_profile.jsp");
} else {
session.setAttribute("errorMsgd", "something wrong on server");
resp.sendRedirect("doctor/edit_profile.jsp");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
package com.doctor.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.dao.AppointmentDAO;
import com.db.DBConnect;
@WebServlet("/updateStatus")
public class UpdateStatus extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
try {
int id = Integer.parseInt(req.getParameter("id"));
int did = Integer.parseInt(req.getParameter("did"));
String comm = req.getParameter("comm");
AppointmentDAO dao = new AppointmentDAO(DBConnect.getConn());
HttpSession session = req.getSession();
if (dao.updateCommentStatus(id, did, comm)) {
session.setAttribute("succMsg", "Comment Updated");
resp.sendRedirect("doctor/patient.jsp");
} else {
session.setAttribute("errorMsg", "Something wrong on server");
resp.sendRedirect("doctor/patient.jsp");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
package com.entity
package com.entity;
public class Appointment {
private int id;
private int userId;
private String fullName;
private String gender;
private String age;
private String appoinDate;
private String email;
private String phNo;
private String diseases;
private int doctorId;
private String address;
private String status;
public Appointment() {
super();
// TODO Auto-generated constructor stub
}
public Appointment(int userId, String fullName, String gender, String age, String appoinDate, String email,
String phNo, String diseases, int doctorId, String address, String status) {
super();
this.userId = userId;
this.fullName = fullName;
this.gender = gender;
this.age = age;
this.appoinDate = appoinDate;
this.email = email;
this.phNo = phNo;
this.diseases = diseases;
this.doctorId = doctorId;
this.address = address;
this.status = status;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getFullName() {
return fullName;
}
public void setFullName(String fullName) {
this.fullName = fullName;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getAppoinDate() {
return appoinDate;
}
public void setAppoinDate(String appoinDate) {
this.appoinDate = appoinDate;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPhNo() {
return phNo;
}
public void setPhNo(String phNo) {
this.phNo = phNo;
}
public String getDiseases() {
return diseases;
}
public void setDiseases(String diseases) {
this.diseases = diseases;
}
public int getDoctorId() {
return doctorId;
}
public void setDoctorId(int doctorId) {
this.doctorId = doctorId;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}
package com.entity;
public class Doctor {
private int id;
private String fullName;
private String dob;
private String qualification;
private String specialist;
private String email;
private String mobNo;
private String password;
public Doctor() {
super();
// TODO Auto-generated constructor stub
}
public Doctor(String fullName, String dob, String qualification, String specialist, String email, String mobNo,
String password) {
super();
this.fullName = fullName;
this.dob = dob;
this.qualification = qualification;
this.specialist = specialist;
this.email = email;
this.mobNo = mobNo;
this.password = password;
}
public Doctor(int id, String fullName, String dob, String qualification, String specialist, String email,
String mobNo, String password) {
super();
this.id = id;
this.fullName = fullName;
this.dob = dob;
this.qualification = qualification;
this.specialist = specialist;
this.email = email;
this.mobNo = mobNo;
this.password = password;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFullName() {
return fullName;
}
public void setFullName(String fullName) {
this.fullName = fullName;
}
public String getDob() {
return dob;
}
public void setDob(String dob) {
this.dob = dob;
}
public String getQualification() {
return qualification;
}
public void setQualification(String qualification) {
this.qualification = qualification;
}
public String getSpecialist() {
return specialist;
}
public void setSpecialist(String specialist) {
this.specialist = specialist;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getMobNo() {
return mobNo;
}
public void setMobNo(String mobNo) {
this.mobNo = mobNo;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
package com.entity;
public class Specalist {
private int id;
private String specialistName;
public Specalist() {
super();
// TODO Auto-generated constructor stub
}
public Specalist(int id, String specialistName) {
super();
this.id = id;
this.specialistName = specialistName;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getSpecialistName() {
return specialistName;
}
public void setSpecialistName(String specialistName) {
this.specialistName = specialistName;
}
}
package com.entity;
public class User {
private int id;
private String fullName;
private String email;
private String password;
public User() {
super();
// TODO Auto-generated constructor stub
}
public User(String fullName, String email, String password) {
super();
this.fullName = fullName;
this.email = email;
this.password = password;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFullName() {
return fullName;
}
public void setFullName(String fullName) {
this.fullName = fullName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
package com.user.servlet
package com.user.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.dao.AppointmentDAO;
import com.db.DBConnect;
import com.entity.Appointment;
@WebServlet("/appAppointment")
public class AppointmentServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
int userId = Integer.parseInt(req.getParameter("userid"));
String fullname = req.getParameter("fullname");
String gender = req.getParameter("gender");
String age = req.getParameter("age");
String appoint_date = req.getParameter("appoint_date");
String email = req.getParameter("email");
String phno = req.getParameter("phno");
String diseases = req.getParameter("diseases");
int doctor_id = Integer.parseInt(req.getParameter("doct"));
String address = req.getParameter("address");
Appointment ap = new Appointment(userId, fullname, gender, age, appoint_date, email, phno, diseases, doctor_id,
address, "Pending");
AppointmentDAO dao = new AppointmentDAO(DBConnect.getConn());
HttpSession session = req.getSession();
if (dao.addAppointment(ap)) {
session.setAttribute("succMsg", "Appointment Sucessfully");
resp.sendRedirect("user_appointment.jsp");
} else {
session.setAttribute("errorMsg", "Something wrong on server");
resp.sendRedirect("user_appointment.jsp");
}
}
}
package com.user.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.dao.UserDao;
import com.db.DBConnect;
@WebServlet("/userChangePassword")
public class changePassword extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
int uid = Integer.parseInt(req.getParameter("uid"));
String oldPassword = req.getParameter("oldPassword");
String newPassword = req.getParameter("newPassword");
UserDao dao = new UserDao(DBConnect.getConn());
HttpSession session = req.getSession();
if (dao.checkOldPassword(uid, oldPassword)) {
if (dao.changePassword(uid, newPassword)) {
session.setAttribute("succMsg", "Password Change Sucessfully");
resp.sendRedirect("change_password.jsp");
} else {
session.setAttribute("errorMsg", "Something wrong on server");
resp.sendRedirect("change_password.jsp");
}
} else {
session.setAttribute("errorMsg", "Old Password Incorrect");
resp.sendRedirect("change_password.jsp");
}
}
}
package com.user.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.dao.UserDao;
import com.db.DBConnect;
import com.entity.User;
@WebServlet("/userLogin")
public class UserLogin extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String email = req.getParameter("email");
String password = req.getParameter("password");
HttpSession session = req.getSession();
UserDao dao = new UserDao(DBConnect.getConn());
User user = dao.login(email, password);
if (user != null) {
session.setAttribute("userObj", user);
resp.sendRedirect("index.jsp");
} else {
session.setAttribute("errorMsg", "invalid email & password");
resp.sendRedirect("user_login.jsp");
}
}
}
package com.user.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/userLogout")
public class UserLogout extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
HttpSession session = req.getSession();
session.removeAttribute("userObj");
session.setAttribute("succMsg", "User Logout Sucessfully");
resp.sendRedirect("user_login.jsp");
}
}
package com.user.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.dao.UserDao;
import com.db.DBConnect;
import com.entity.User;
@WebServlet("/user_register")
public class UserRegister extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
try {
String fullName = req.getParameter("fullname");
String email = req.getParameter("email");
String password = req.getParameter("password");
User u = new User(fullName, email, password);
UserDao dao = new UserDao(DBConnect.getConn());
HttpSession session = req.getSession();
boolean f = dao.register(u);
if (f) {
session.setAttribute("sucMsg", "Register Sucessfully");
resp.sendRedirect("signup.jsp");
} else {
session.setAttribute("errorMsg", "Something wrong on server");
resp.sendRedirect("signup.jsp");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Frontend Code
Admin
doctor.jsp
<%@page import="com.entity.Doctor"%>
<%@page import="com.dao.DoctorDao"%>
<%@page import="com.entity.Specalist"%>
<%@page import="java.util.List"%>
<%@page import="com.db.DBConnect"%>
<%@page import="com.dao.SpecialistDao"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<%@include file="../component/allcss.jsp"%>
<style type="text/css">
.paint-card {
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
}
</style>
</head>
<body>
<%@include file="navbar.jsp"%>
<div class="container-fluid p-3">
<div class="row">
<div class="col-md-5 offset-md-4">
<div class="card paint-card">
<div class="card-body">
<p class="fs-3 text-center">Add Doctor</p>
<c:if test="${not empty errorMsg}">
<p class="fs-3 text-center text-danger">${errorMsg}</p>
<c:remove var="errorMsg" scope="session" />
</c:if>
<c:if test="${not empty succMsg}">
<div class="fs-3 text-center text-success" role="alert">${succMsg}</div>
<c:remove var="succMsg" scope="session" />
</c:if>
<form action="../addDoctor" method="post">
<div class="mb-3">
<label class="form-label">Full Name</label> <input type="text"
required name="fullname" class="form-control">
</div>
<div class="mb-3">
<label class="form-label">DOB</label> <input type="date"
required name="dob" class="form-control">
</div>
<div class="mb-3">
<label class="form-label">Qualification</label> <input required
name="qualification" type="text" class="form-control">
</div>
<div class="mb-3">
<label class="form-label">Specialist</label> <select name="spec"
required class="form-control">
<option>--select--</option>
<%
SpecialistDao dao = new SpecialistDao(DBConnect.getConn());
List<Specalist> list = dao.getAllSpecialist();
for (Specalist s : list) {
%>
<option><%=s.getSpecialistName()%></option>
<%
}
%>
</select>
</div>
<div class="mb-3">
<label class="form-label">Email</label> <input type="text"
required name="email" class="form-control">
</div>
<div class="mb-3">
<label class="form-label">Mob No</label> <input type="text"
required name="mobno" class="form-control">
</div>
<div class="mb-3">
<label class="form-label">Password</label> <input required
name="password" type="password" class="form-control">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
edit_doctor.jsp
<%@page import="com.entity.Doctor"%>
<%@page import="com.dao.DoctorDao"%>
<%@page import="com.entity.Specalist"%>
<%@page import="java.util.List"%>
<%@page import="com.db.DBConnect"%>
<%@page import="com.dao.SpecialistDao"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<%@include file="../component/allcss.jsp"%>
<style type="text/css">
.paint-card {
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
}
</style>
</head>
<body>
<%@include file="navbar.jsp"%>
<div class="container-fluid p-3">
<div class="row">
<div class="col-md-4 offset-md-4">
<div class="card paint-card">
<div class="card-body">
<p class="fs-3 text-center">Edit Doctor Details</p>
<c:if test="${not empty errorMsg}">
<p class="fs-3 text-center text-danger">${errorMsg}</p>
<c:remove var="errorMsg" scope="session" />
</c:if>
<c:if test="${not empty succMsg}">
<div class="fs-3 text-center text-success" role="alert">${succMsg}</div>
<c:remove var="succMsg" scope="session" />
</c:if>
<%
int id = Integer.parseInt(request.getParameter("id"));
DoctorDao dao2 = new DoctorDao(DBConnect.getConn());
Doctor d = dao2.getDoctorById(id);
%>
<form action="../updateDoctor" method="post">
<div class="mb-3">
<label class="form-label">Full Name</label> <input type="text"
required name="fullname" class="form-control"
value="<%=d.getFullName()%>">
</div>
<div class="mb-3">
<label class="form-label">DOB</label> <input type="date"
value="<%=d.getDob()%>" required name="dob"
class="form-control">
</div>
<div class="mb-3">
<label class="form-label">Qualification</label> <input required
value="<%=d.getQualification()%>" name="qualification"
type="text" class="form-control">
</div>
<div class="mb-3">
<label class="form-label">Specialist</label> <select name="spec"
required class="form-control">
<option><%=d.getSpecialist()%></option>
<%
SpecialistDao dao = new SpecialistDao(DBConnect.getConn());
List<Specalist> list = dao.getAllSpecialist();
for (Specalist s : list) {
%>
<option><%=s.getSpecialistName()%></option>
<%
}
%>
</select>
</div>
<div class="mb-3">
<label class="form-label">Email</label> <input type="text"
value="<%=d.getEmail()%>" required name="email"
class="form-control">
</div>
<div class="mb-3">
<label class="form-label">Mob No</label> <input type="text"
value="<%=d.getMobNo()%>" required name="mobno"
class="form-control">
</div>
<div class="mb-3">
<label class="form-label">Password</label> <input required
value="<%=d.getPassword()%>" name="password" type="text"
class="form-control">
</div>
<input type="hidden" name="id" value="<%=d.getId()%>">
<button type="submit" class="btn btn-primary col-md-12">Update</button>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
index.jsp
<%@page import="com.db.DBConnect"%>
<%@page import="com.dao.DoctorDao"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<%@include file="../component/allcss.jsp"%>
<style type="text/css">
.paint-card {
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
}
</style>
</head>
<body>
<%@include file="navbar.jsp"%>
<c:if test="${ empty adminObj }">
<c:redirect url="../admin_login.jsp"></c:redirect>
</c:if>
<div class="container p-5">
<p class="text-center fs-3">Admin Dashboard</p>
<c:if test="${not empty errorMsg}">
<p class="fs-3 text-center text-danger">${errorMsg}</p>
<c:remove var="errorMsg" scope="session" />
</c:if>
<c:if test="${not empty succMsg}">
<div class="fs-3 text-center text-success" role="alert">${succMsg}</div>
<c:remove var="succMsg" scope="session" />
</c:if>
<%
DoctorDao dao = new DoctorDao(DBConnect.getConn());
%>
<div class="row">
<div class="col-md-4">
<div class="card paint-card">
<div class="card-body text-center text-success">
<i class="fas fa-user-md fa-3x"></i><br>
<p class="fs-4 text-center">
Doctor <br><%=dao.countDoctor()%>
</p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card paint-card">
<div class="card-body text-center text-success">
<i class="fas fa-user-circle fa-3x"></i><br>
<p class="fs-4 text-center">
User <br><%=dao.countUSer()%>
</p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card paint-card">
<div class="card-body text-center text-success">
<i class="far fa-calendar-check fa-3x"></i><br>
<p class="fs-4 text-center">
Total Appointment <br><%=dao.countAppointment()%>
</p>
</div>
</div>
</div>
<div class="col-md-4 mt-2">
<div class="card paint-card " data-bs-toggle="modal"
data-bs-target="#exampleModal">
<div class="card-body text-center text-success">
<i class="far fa-calendar-check fa-3x"></i><br>
<p class="fs-4 text-center">
Specialist <br><%=dao.countSpecialist()%>
</p>
</div>
</div>
</div>
</div>
</div>
<!-- Modal -->
<div class="modal fade" id="exampleModal" tabindex="-1"
aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"
aria-label="Close"></button>
</div>
<div class="modal-body">
<form action="../addSpecialist" method="post">
<div class="form-group">
<label>Enter Specialist Name</label> <input type="text"
name="specName" class="form-control">
</div>
<div class="text-center mt-3">
<button type="submit" class="btn btn-primary">Add</button>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary"
data-bs-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</body>
</html>
navbar.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@page isELIgnored="false"%>
<nav class="navbar navbar-expand-lg navbar-dark bg-success">
<div class="container-fluid">
<a class="navbar-brand" href="index.jsp"><i
class="fas fa-clinic-medical"></i> Medi Home</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item"><a class="nav-link active" href="index.jsp">HOME</a></li>
<li class="nav-item"><a class="nav-link active" href="doctor.jsp">DOCTOR</a></li>
<li class="nav-item"><a class="nav-link active" href="view_doctor.jsp">VIEW DOCTOR</a></li>
<li class="nav-item"><a class="nav-link active" href="patient.jsp">PATIENT</a></li>
</ul>
<form class="d-flex">
<div class="dropdown">
<button class="btn btn-light dropdown-toggle" type="button"
id="dropdownMenuButton1" data-bs-toggle="dropdown"
aria-expanded="false">Admin</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton1">
<li><a class="dropdown-item" href="../adminLogout">Logout</a></li>
</ul>
</div>
</form>
</div>
</div>
</nav>
patient.jsp
<%@page import="com.entity.Doctor"%>
<%@page import="com.dao.DoctorDao"%>
<%@page import="com.entity.Appointment"%>
<%@page import="java.util.List"%>
<%@page import="com.db.DBConnect"%>
<%@page import="com.dao.AppointmentDAO"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<%@include file="../component/allcss.jsp"%>
<style type="text/css">
.paint-card {
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
}
</style>
</head>
<body>
<%@include file="navbar.jsp"%>
<div class="col-md-12">
<div class="card paint-card">
<div class="card-body">
<p class="fs-3 text-center">Patient Details</p>
<table class="table">
<thead>
<tr>
<th scope="col">Full Name</th>
<th scope="col">Gender</th>
<th scope="col">Age</th>
<th scope="col">Appointment</th>
<th scope="col">Email</th>
<th scope="col">Mob No</th>
<th scope="col">Diseases</th>
<th scope="col">Doctor Name</th>
<th scope="col">Address</th>
<th scope="col">Status</th>
</tr>
</thead>
<tbody>
<%
AppointmentDAO dao = new AppointmentDAO(DBConnect.getConn());
DoctorDao dao2 = new DoctorDao(DBConnect.getConn());
List<Appointment> list = dao.getAllAppointment();
for (Appointment ap : list) {
Doctor d = dao2.getDoctorById(ap.getDoctorId());
%>
<tr>
<th><%=ap.getFullName()%></th>
<td><%=ap.getGender()%></td>
<td><%=ap.getAge()%></td>
<td><%=ap.getAppoinDate()%></td>
<td><%=ap.getEmail()%></td>
<td><%=ap.getPhNo()%></td>
<td><%=ap.getDiseases()%></td>
<td><%=d.getFullName()%></td>
<td><%=ap.getAddress()%></td>
<td><%=ap.getStatus()%></td>
</tr>
<%
}
%>
</tbody>
</table>
</div>
</div>
</div>
</body>
</html>
view_doctor.jsp
<%@page import="com.entity.Doctor"%>
<%@page import="com.dao.DoctorDao"%>
<%@page import="com.entity.Specalist"%>
<%@page import="java.util.List"%>
<%@page import="com.db.DBConnect"%>
<%@page import="com.dao.SpecialistDao"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<%@include file="../component/allcss.jsp"%>
<style type="text/css">
.paint-card {
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
}
</style>
</head>
<body>
<%@include file="navbar.jsp"%>
<div class="container-fluid p-3">
<div class="row">
<div class="col-md-12">
<div class="card paint-card">
<div class="card-body">
<p class="fs-3 text-center">Doctor Details</p>
<c:if test="${not empty errorMsg}">
<p class="fs-3 text-center text-danger">${errorMsg}</p>
<c:remove var="errorMsg" scope="session" />
</c:if>
<c:if test="${not empty succMsg}">
<div class="fs-3 text-center text-success" role="alert">${succMsg}</div>
<c:remove var="succMsg" scope="session" />
</c:if>
<table class="table">
<thead>
<tr>
<th scope="col">Full Name</th>
<th scope="col">DOB</th>
<th scope="col">Qualification</th>
<th scope="col">Specialist</th>
<th scope="col">Email</th>
<th scope="col">Mob No</th>
<th scope="col">Action</th>
</tr>
</thead>
<tbody>
<%
DoctorDao dao2 = new DoctorDao(DBConnect.getConn());
List<Doctor> list2 = dao2.getAllDoctor();
for (Doctor d : list2) {
%>
<tr>
<td><%=d.getFullName()%></td>
<td><%=d.getDob()%></td>
<td><%=d.getQualification()%></td>
<td><%=d.getSpecialist()%></td>
<td><%=d.getEmail()%></td>
<td><%=d.getMobNo()%></td>
<td><a href="edit_doctor.jsp?id=<%=d.getId()%>"
class="btn btn-sm btn-primary">Edit</a>
<a
href="../deleteDoctor?id=<%=d.getId()%>"
class="btn btn-sm btn-danger">Delete</a></td>
</tr>
<%
}
%>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
component
allcss.jsp
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC"
crossorigin="anonymous">
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css"
integrity="sha512-Fo3rlrZj/k7ujTnHg4CGR2D7kSs0v4LLanw2qksYuRlEzO+tcaEPQogQ0KaoGN26/zrn20ImR1DfuLWnOo7aBA=="
crossorigin="anonymous" referrerpolicy="no-referrer" />
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"
integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"
crossorigin="anonymous"></script>
footer.jsp
<div class="container-fluid p-1 bg-success text-center text-white">
<p>@copyright hospital.com</p>
</div>
navbar.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@page isELIgnored="false"%>
<nav class="navbar navbar-expand-lg navbar-dark bg-success">
<div class="container-fluid">
<a class="navbar-brand" href="index.jsp"><i
class="fas fa-clinic-medical"></i> MEDI HOME</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item"><a class="nav-link active"
aria-current="page" href="search.jsp">Search</a></li>
</ul>
<ul class="navbar-nav ms-auto mb-2 mb-lg-0">
<c:if test="${empty userObj }">
<li class="nav-item"><a class="nav-link active"
aria-current="page" href="admin_login.jsp"><i
class="fas fa-sign-in-alt"></i> ADMIN</a></li>
<li class="nav-item"><a class="nav-link active"
aria-current="page" href="doctor_login.jsp">DOCTOR</a></li>
<li class="nav-item"><a class="nav-link active"
aria-current="page" href="user_appointment.jsp">APPOINTMENT</a></li>
<li class="nav-item"><a class="nav-link active"
aria-current="page" href="user_login.jsp">USER</a></li>
</c:if>
</ul>
<c:if test="${not empty userObj }">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item"><a class="nav-link active"
aria-current="page" href="user_appointment.jsp">APPOINTMENT</a></li>
<li class="nav-item"><a class="nav-link active"
aria-current="page" href="view_appointment.jsp">VIEW
APPOINTMENT</a></li>
<div class="dropdown">
<button class="btn btn-success dropdown-toggle" type="button"
id="dropdownMenuButton1" data-bs-toggle="dropdown"
aria-expanded="false">
<i class="fa-solid fa-circle-user"></i> ${userObj.fullName }
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton1">
<li><a class="dropdown-item" href="change_password.jsp">Change
Password</a></li>
<li><a class="dropdown-item" href="userLogout">Logout</a></li>
</ul>
</div>
</ul>
</c:if>
</div>
</div>
</nav>
doctor
comment.jsp
<%@page import="com.entity.Appointment"%>
<%@page import="com.db.DBConnect"%>
<%@page import="com.dao.AppointmentDAO"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@page isELIgnored="false"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<style type="text/css">
.paint-card {
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
}
.backImg {
background: linear-gradient(rgba(0, 0, 0, .4), rgba(0, 0, 0, .4)),
url("../img/hospital.jpg");
height: 20vh;
width: 100%;
background-size: cover;
background-repeat: no-repeat;
}
</style>
<%@include file="../component/allcss.jsp"%>
</head>
<body>
<c:if test="${empty doctObj }">
<c:redirect url="../doctor_login.jsp"></c:redirect>
</c:if>
<%@include file="navbar.jsp"%>
<div class="container-fulid backImg p-5">
<p class="text-center fs-2 text-white"></p>
</div>
<div class="container p-3">
<div class="row">
<div class="col-md-6 offset-md-3">
<div class="card paint-card">
<div class="card-body">
<p class="text-center fs-4">Patient Comment</p>
<%
int id = Integer.parseInt(request.getParameter("id"));
AppointmentDAO dao = new AppointmentDAO(DBConnect.getConn());
Appointment ap = dao.getAppointmentById(id);
%>
<form class="row" action="../updateStatus" method="post">
<div class="col-md-6">
<label>Patient Name</label> <input type="text" readonly
value="<%=ap.getFullName()%>" class="form-control">
</div>
<div class="col-md-6">
<label>Age</label> <input type="text" value="<%=ap.getAge()%>"
readonly class="form-control">
</div>
<div class="col-md-6">
<br> <label>Mob No</label> <input type="text" readonly
value="<%=ap.getPhNo()%>" class="form-control">
</div>
<div class="col-md-6">
<br> <label>Diseases</label> <input type="text" readonly
value="<%=ap.getDiseases()%>" class="form-control">
</div>
<div class="col-md-12">
<br> <label>Comment</label>
<textarea required name="comm" class="form-control" row="3"
cols=""></textarea>
</div>
<input type="hidden" name="id" value="<%=ap.getId()%>"> <input
type="hidden" name="did" value="<%=ap.getDoctorId()%>">
<button class=" mt-3 btn btn-primary col-md-6 offset-md-3">Submit</button>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
edit_profile.jsp
<%@page import="com.entity.Specalist"%>
<%@page import="java.util.List"%>
<%@page import="com.db.DBConnect"%>
<%@page import="com.dao.SpecialistDao"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@page isELIgnored="false"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<style type="text/css">
.paint-card {
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
}
</style>
<%@include file="../component/allcss.jsp"%>
</head>
<body>
<c:if test="${empty doctObj }">
<c:redirect url="../doctor_login.jsp"></c:redirect>
</c:if>
<%@include file="navbar.jsp"%>
<div class="container p-4">
<div class="row">
<div class="col-md-4">
<div class="card paint-card">
<p class="text-center fs-3">Change Password</p>
<c:if test="${not empty succMsg }">
<p class="text-center text-success fs-3">${succMsg}</p>
<c:remove var="succMsg" scope="session" />
</c:if>
<c:if test="${not empty errorMsg }">
<p class="text-center text-danger fs-5">${errorMsg}</p>
<c:remove var="errorMsg" scope="session" />
</c:if>
<div class="card-body">
<form action="../doctChangePassword" method="post">
<div class="mb-3">
<label>Enter New Password</label> <input type="text"
name="newPassword" class="form-control" required>
</div>
<div class="mb-3">
<label>Enter Old Password</label> <input type="text"
name="oldPassword" class="form-control" required>
</div>
<input type="hidden" value="${doctObj.id }" name="uid">
<button class="btn btn-success col-md-12">Change
Password</button>
</form>
</div>
</div>
</div>
<div class="col-md-5 offset-md-2">
<div class="card paint-card">
<p class="text-center fs-3">Edit Profile</p>
<c:if test="${not empty succMsgd }">
<p class="text-center text-success fs-3">${succMsgd}</p>
<c:remove var="succMsgd" scope="session" />
</c:if>
<c:if test="${not empty errorMsgd }">
<p class="text-center text-danger fs-5">${errorMsgd}</p>
<c:remove var="errorMsgd" scope="session" />
</c:if>
<div class="card-body">
<form action="../doctorUpdateProfile" method="post">
<div class="mb-3">
<label class="form-label">Full Name</label> <input type="text"
required name="fullname" class="form-control"
value="${doctObj.fullName }">
</div>
<div class="mb-3">
<label class="form-label">DOB</label> <input type="date"
required name="dob" class="form-control"
value="${doctObj.dob }">
</div>
<div class="mb-3">
<label class="form-label">Qualification</label> <input required
name="qualification" type="text" class="form-control"
value="${doctObj.qualification }">
</div>
<div class="mb-3">
<label class="form-label">Specialist</label> <select name="spec"
required class="form-control">
<option>${doctObj.specialist }</option>
<%
SpecialistDao dao = new SpecialistDao(DBConnect.getConn());
List<Specalist> list = dao.getAllSpecialist();
for (Specalist s : list) {
%>
<option><%=s.getSpecialistName()%></option>
<%
}
%>
</select>
</div>
<div class="mb-3">
<label class="form-label">Email</label> <input type="text"
readonly required name="email" class="form-control"
value="${doctObj.email }">
</div>
<div class="mb-3">
<label class="form-label">Mob No</label> <input type="text"
required name="mobno" class="form-control"
value="${doctObj.mobNo }">
</div>
<input type="hidden" name="id" value="${doctObj.id }">
<button type="submit" class="btn btn-primary">Update</button>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
index.jsp
<%@page import="com.entity.Doctor"%>
<%@page import="com.db.DBConnect"%>
<%@page import="com.dao.DoctorDao"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@page isELIgnored="false"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<style type="text/css">
.paint-card {
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
}
</style>
<%@include file="../component/allcss.jsp"%>
</head>
<body>
<c:if test="${empty doctObj }">
<c:redirect url="../doctor_login.jsp"></c:redirect>
</c:if>
<%@include file="navbar.jsp"%>
<p class="text-center fs-3">Doctor Dashboard</p>
<%
Doctor d = (Doctor) session.getAttribute("doctObj");
DoctorDao dao = new DoctorDao(DBConnect.getConn());
%>
<div class="container p-5">
<div class="row">
<div class="col-md-4 offset-md-2">
<div class="card paint-card">
<div class="card-body text-center text-success">
<i class="fas fa-user-md fa-3x"></i><br>
<p class="fs-4 text-center">
Doctor <br><%=dao.countDoctor()%>
</p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card paint-card">
<div class="card-body text-center text-success">
<i class="far fa-calendar-check fa-3x"></i><br>
<p class="fs-4 text-center">
Total Appointment <br>
<%=dao.countAppointmentByDocotrId(d.getId())%>
</p>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
navbar.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@page isELIgnored="false"%>
<nav class="navbar navbar-expand-lg navbar-dark bg-primary">
<div class="container-fluid">
<a class="navbar-brand" href="index.jsp"><i
class="fas fa-clinic-medical"></i> Medi Home</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item"><a class="nav-link" href="index.jsp">HOME</a></li>
<li class="nav-item"><a class="nav-link" href="patient.jsp">PATIENT</a></li>
</ul>
<form class="d-flex">
<div class="dropdown">
<button class="btn btn-light dropdown-toggle" type="button"
id="dropdownMenuButton1" data-bs-toggle="dropdown"
aria-expanded="false">
<i class="fas fa-user-circle"></i> ${doctObj.fullName }
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton1">
<li><a class="dropdown-item" href="edit_profile.jsp">Edit
Profile</a></li>
<li><a class="dropdown-item" href="../doctorLogout">Logout</a></li>
</ul>
</div>
</form>
</div>
</div>
</nav>
patient.jsp
<%@page import="com.entity.Appointment"%>
<%@page import="java.util.List"%>
<%@page import="com.db.DBConnect"%>
<%@page import="com.dao.AppointmentDAO"%>
<%@page import="com.entity.Doctor"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@page isELIgnored="false"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<%@include file="../component/allcss.jsp"%>
<style type="text/css">
.paint-card {
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
}
</style>
</head>
<body>
<c:if test="${empty doctObj }">
<c:redirect url="../doctor_login.jsp"></c:redirect>
</c:if>
<%@include file="navbar.jsp"%>
<div class="container p-3">
<div class="row">
<div class="col-md-12">
<div class="card paint-card">
<div class="card-body">
<p class="fs-3 text-center">Patient Details</p>
<c:if test="${not empty errorMsg}">
<p class="fs-4 text-center text-danger">${errorMsg}</p>
<c:remove var="errorMsg" scope="session" />
</c:if>
<c:if test="${not empty succMsg}">
<p class=" fs-4 text-center text-success">${succMsg}</p>
<c:remove var="succMsg" scope="session" />
</c:if>
<table class="table">
<thead>
<tr>
<th scope="col">Full Name</th>
<th scope="col">Gender</th>
<th scope="col">Age</th>
<th scope="col">Appointment Date</th>
<th scope="col">Email</th>
<th scope="col">Mob No</th>
<th scope="col">Diseases</th>
<th scope="col">Status</th>
<th scope="col">Action</th>
</tr>
</thead>
<tbody>
<%
Doctor d = (Doctor) session.getAttribute("doctObj");
AppointmentDAO dao = new AppointmentDAO(DBConnect.getConn());
List<Appointment> list = dao.getAllAppointmentByDoctorLogin(d.getId());
for (Appointment ap : list) {
%>
<tr>
<th><%=ap.getFullName()%></th>
<td><%=ap.getGender()%></td>
<td><%=ap.getAge()%></td>
<td><%=ap.getAppoinDate()%></td>
<td><%=ap.getEmail()%></td>
<td><%=ap.getPhNo()%></td>
<td><%=ap.getDiseases()%></td>
<td><%=ap.getStatus()%></td>
<td>
<%
if ("Pending".equals(ap.getStatus())) {
%>
<a href="comment.jsp?id=<%=ap.getId()%>"
class="btn btn-success btn-sm">Comment</a>
<%
} else {
%>
<a href="#" class="btn btn-success btn-sm disabled">Comment</a>
<%
}
%>
</td>
</tr>
<%
}
%>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
webapp
admin_login.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@page isELIgnored="false"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Admin Login Page</title>
<%@include file="component/allcss.jsp"%>
<style type="text/css">
.paint-card {
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
}
</style>
</head>
<body>
<%@include file="component/navbar.jsp"%>
<div class="container p-5">
<div class="row">
<div class="col-md-4 offset-md-4">
<div class="card paint-card">
<div class="card-body">
<p class="fs-4 text-center">Admin Login</p>
<c:if test="${not empty succMsg }">
<p class="text-center text-success fs-3">${succMsg}</p>
<c:remove var="succMsg" scope="session" />
</c:if>
<c:if test="${not empty errorMsg }">
<p class="text-center text-danger fs-5">${errorMsg}</p>
<c:remove var="errorMsg" scope="session" />
</c:if>
<form action="adminLogin" method="post">
<div class="mb-3">
<label class="form-label">Email address</label> <input required
name="email" type="email" class="form-control">
</div>
<div class="mb-3">
<label class="form-label">Password</label> <input required
name="password" type="password" class="form-control">
</div>
<button type="submit" class="btn bg-success text-white col-md-12">Login</button>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
change_password.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@page isELIgnored="false"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<%@include file="component/allcss.jsp"%>
<style type="text/css">
.paint-card {
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
}
</style>
</head>
<body>
<%@include file="component/navbar.jsp"%>
<c:if test="${ empty userObj }">
<c:redirect url="user_login.jsp"></c:redirect>
</c:if>
<div class="container p-4">
<div class="row">
<div class="col-md-4 offset-md-4">
<div class="card paint-card">
<p class="text-center fs-3">Change Password</p>
<c:if test="${not empty succMsg }">
<p class="text-center text-success fs-3">${succMsg}</p>
<c:remove var="succMsg" scope="session" />
</c:if>
<c:if test="${not empty errorMsg }">
<p class="text-center text-danger fs-5">${errorMsg}</p>
<c:remove var="errorMsg" scope="session" />
</c:if>
<div class="card-body">
<form action="userChangePassword" method="post">
<div class="mb-3">
<label>Enter New Password</label> <input type="text"
name="newPassword" class="form-control" required>
</div>
<div class="mb-3">
<label>Enter Old Password</label> <input type="text"
name="oldPassword" class="form-control" required>
</div>
<input type="hidden" value="${userObj.id }" name="uid">
<button class="btn btn-success col-md-12">Change
Password</button>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
doctor_login.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Docotr Login Page</title>
<%@include file="component/allcss.jsp"%>
<style type="text/css">
.paint-card {
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
}
</style>
</head>
<body>
<%@include file="component/navbar.jsp"%>
<div class="container p-5">
<div class="row">
<div class="col-md-4 offset-md-4">
<div class="card paint-card">
<div class="card-body">
<p class="fs-4 text-center">Doctor Login</p>
<c:if test="${not empty succMsg }">
<p class="text-center text-success fs-3">${succMsg}</p>
<c:remove var="succMsg" scope="session" />
</c:if>
<c:if test="${not empty errorMsg }">
<p class="text-center text-danger fs-5">${errorMsg}</p>
<c:remove var="errorMsg" scope="session" />
</c:if>
<form action="doctorLogin" method="post">
<div class="mb-3">
<label class="form-label">Email address</label> <input required
name="email" type="email" class="form-control">
</div>
<div class="mb-3">
<label class="form-label">Password</label> <input required
name="password" type="password" class="form-control">
</div>
<button type="submit" class="btn bg-success text-white col-md-12">Login</button>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
edit_profile.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<%@include file="component/allcss.jsp"%>
<style type="text/css">
.paint-card {
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
}
</style>
</head>
<body>
<%@include file="component/navbar.jsp"%>
<div class="container">
<div class="row">
<div class="col-md-4 offset-md-4">
<div class="card">
<p class="text-center fs-3">Change Password</p>
<div class="card-body">
<form>
<div class="mb-3">
<label>Enter New Password</label> <input type="text"
name="newPassword" class="form-control" required>
</div>
<div class="mb-3">
<label>Enter Old Password</label> <input type="text"
name="oldPassword" class="form-control" required>
</div>
<button class="btn btn-success col-md-12">Change
Password</button>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
index.jsp
<%@page import="com.db.DBConnect"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Index Page</title>
<%@include file="component/allcss.jsp"%>
<style type="text/css">
.paint-card {
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
}
</style>
</head>
<body>
<%@include file="component/navbar.jsp"%>
<div id="carouselExampleIndicators" class="carousel slide"
data-bs-ride="carousel">
<div class="carousel-indicators">
<button type="button" data-bs-target="#carouselExampleIndicators"
data-bs-slide-to="0" class="active" aria-current="true"
aria-label="Slide 1"></button>
<button type="button" data-bs-target="#carouselExampleIndicators"
data-bs-slide-to="1" aria-label="Slide 2"></button>
<button type="button" data-bs-target="#carouselExampleIndicators"
data-bs-slide-to="2" aria-label="Slide 3"></button>
</div>
<div class="carousel-inner">
<div class="carousel-item active">
<img src="img/hos.jpg" class="d-block w-100" alt="..."
height="500px">
</div>
<div class="carousel-item">
<img src="img/hos2.jpg" class="d-block w-100" alt="..."
height="500px">
</div>
<div class="carousel-item">
<img src="img/hos3.jpg" class="d-block w-100" alt="..."
height="500px">
</div>
</div>
<button class="carousel-control-prev" type="button"
data-bs-target="#carouselExampleIndicators" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span> <span
class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button"
data-bs-target="#carouselExampleIndicators" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span> <span
class="visually-hidden">Next</span>
</button>
</div>
<div class="container p-3">
<p class="text-center fs-2 ">Key Features of our Hospital</p>
<div class="row">
<div class="col-md-8 p-5">
<div class="row">
<div class="col-md-6">
<div class="card paint-card">
<div class="card-body">
<p class="fs-5">100% Safety</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.
Voluptatem, inventore</p>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card paint-card">
<div class="card-body">
<p class="fs-5">Clean Environment</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.
Voluptatem, inventore</p>
</div>
</div>
</div>
<div class="col-md-6 mt-2">
<div class="card paint-card">
<div class="card-body">
<p class="fs-5">Friendly Doctors</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.
Voluptatem, inventore</p>
</div>
</div>
</div>
<div class="col-md-6 mt-2">
<div class="card paint-card">
<div class="card-body">
<p class="fs-5">Medical Research</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.
Voluptatem, inventore</p>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<img alt="" src="img/doct.jpg">
</div>
</div>
</div>
<hr>
<div class="container p-2">
<p class="text-center fs-2 ">Our Team</p>
<div class="row">
<div class="col-md-3">
<div class="card paint-card">
<div class="card-body text-center">
<img src="img/doc1.jpg" width="250px" height="300px">
<p class="fw-bold fs-5">Samuani Simi</p>
<p class="fs-7">(CEO & Chairman)</p>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card paint-card">
<div class="card-body text-center">
<img src="img/doc2.jpg" width="250px" height="300px">
<p class="fw-bold fs-5">Dr.Siva Kumar</p>
<p class="fs-7">(Chief Doctor)</p>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card paint-card">
<div class="card-body text-center">
<img src="img/doc3.jpg" width="250px" height="300px">
<p class="fw-bold fs-5">Dr. Niuise Paule</p>
<p class="fs-7">(Chief Doctor)</p>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card paint-card">
<div class="card-body text-center">
<img src="img/doc4.jpg" width="250px" height="300px">
<p class="fw-bold fs-5">Dr. Mathue Samuel</p>
<p class="fs-7">(Chief Doctor)</p>
</div>
</div>
</div>
</div>
</div>
<%@include file="component/footer.jsp" %>
</body>
</html>
search.jsp
<%@page import="com.entity.Doctor"%>
<%@page import="java.util.List"%>
<%@page import="com.db.DBConnect"%>
<%@page import="com.dao.DoctorDao"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<%@include file="component/allcss.jsp"%>
<style type="text/css">
.paint-card {
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
}
</style>
</head>
<body>
<%@include file="component/navbar.jsp"%>
<div class="container-fluid p-3" style="background-color: #f0f1f2;">
<div class="row">
<div class="col-md-8 offset-md-2">
<form action="search.jsp" method="post">
<div class="input-group">
<input placeholder="enter specialist" type="text" class="form-control" name="ch">
<button class="btn bg-success ms-2 text-white">Search</button>
</div>
</form>
</div>
</div>
</div>
<div class="container p-5">
<div class="row">
<%
String ch = request.getParameter("ch");
DoctorDao dao = new DoctorDao(DBConnect.getConn());
List<Doctor> list = dao.searchDoctor(ch);
if (list.size() > 0) {
for (Doctor d : list) {
%>
<div class="col-md-3">
<div class="card paint-card">
<div class="card-header text-center">
<i class="fa-solid fa-circle-user fa-2x"></i>
</div>
<div class="card-body">
<p>
<span class="fw-bold">Name :</span> <%=d.getFullName() %>
</p>
<p>
<span class="fw-bold">specialist :</span> <%=d.getSpecialist() %>
</p>
<p>
<span class="fw-bold">Qualification :</span> <%=d.getQualification() %>
</p>
<p>
<span class="fw-bold">Email :</span> <%=d.getEmail() %>
</p>
<p>
<span class="fw-bold">Mob No :</span> <%=d.getMobNo() %>
</p>
</div>
</div>
</div>
<%
}
%>
<%
}
%>
</div>
</div>
</body>
</html>
signup.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@page isELIgnored="false"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<%@include file="component/allcss.jsp"%>
<style type="text/css">
.paint-card {
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
}
</style>
</head>
<body>
<%@include file="component/navbar.jsp"%>
<div class="container p-5">
<div class="row">
<div class="col-md-4 offset-md-4">
<div class="card paint-card">
<div class="card-body">
<p class="fs-4 text-center">User Register</p>
<c:if test="${not empty sucMsg }">
<p class="text-center text-success fs-3">${sucMsg}</p>
<c:remove var="sucMsg" scope="session" />
</c:if>
<c:if test="${not empty errorMsg }">
<p class="text-center text-danger fs-3">${errorMsg}</p>
<c:remove var="errorMsg" scope="session" />
</c:if>
<form action="user_register" method="post">
<div class="mb-3">
<label class="form-label">Full Name</label> <input required
name="fullname" type="text" class="form-control">
</div>
<div class="mb-3">
<label class="form-label">Email address</label> <input required
name="email" type="email" class="form-control">
</div>
<div class="mb-3">
<label class="form-label">Password</label> <input required
name="password" type="password" class="form-control">
</div>
<button type="submit" class="btn bg-success text-white col-md-12">Register</button>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
user_appointment.jsp
<%@page import="com.db.DBConnect"%>
<%@page import="com.dao.DoctorDao"%>
<%
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Cache-Control", "no-store");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@page isELIgnored="false"%>
<%@page import="com.entity.Doctor"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>User Appointment</title>
<%@include file="component/allcss.jsp"%>
<style type="text/css">
.paint-card {
box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.3);
}
.backImg {
background: linear-gradient(rgba(0, 0, 0, .4), rgba(0, 0, 0, .4)),
url("img/hospital.jpg");
height: 20vh;
width: 100%;
background-size: cover;
background-repeat: no-repeat;
}
</style>
</head>
<body>
<%@include file="component/navbar.jsp"%>
<div class="container-fulid backImg p-5">
<p class="text-center fs-2 text-white"></p>
</div>
<div class="container p-3">
<div class="row">
<div class="col-md-6 p-5">
<img alt="" src="img/doct.jpg">
</div>
<div class="col-md-6">
<div class="card paint-card">
<div class="card-body">
<p class="text-center fs-3">User Appointment</p>
<c:if test="${not empty errorMsg}">
<p class="fs-4 text-center text-danger">${errorMsg}</p>
<c:remove var="errorMsg" scope="session" />
</c:if>
<c:if test="${not empty succMsg}">
<p class=" fs-4 text-center text-success">${succMsg}</p>
<c:remove var="succMsg" scope="session" />
</c:if>
<form class="row g-3" action="appAppointment" method="post">
<input type="hidden" name="userid" value="${userObj.id }">
<div class="col-md-6">
<label for="inputEmail4" class="form-label">Full Name</label> <input
required type="text" class="form-control" name="fullname">
</div>
<div class="col-md-6">
<label>Gender</label> <select class="form-control" name="gender"
required>
<option value="male">Male</option>
<option value="female">Female</option>
</select>
</div>
<div class="col-md-6">
<label for="inputEmail4" class="form-label">Age</label> <input
required type="number" class="form-control" name="age">
</div>
<div class="col-md-6">
<label for="inputEmail4" class="form-label">Appointment
Date</label> <input type="date" class="form-control" required
name="appoint_date">
</div>
<div class="col-md-6">
<label for="inputEmail4" class="form-label">Email</label> <input
required type="email" class="form-control" name="email">
</div>
<div class="col-md-6">
<label for="inputEmail4" class="form-label">Phone No</label> <input
maxlength="10" required type="number" class="form-control"
name="phno">
</div>
<div class="col-md-6">
<label for="inputEmail4" class="form-label">Diseases</label> <input
required type="text" class="form-control" name="diseases">
</div>
<div class="col-md-6">
<label for="inputPassword4" class="form-label">Doctor</label> <select
required class="form-control" name="doct">
<option value="">--select--</option>
<%
DoctorDao dao = new DoctorDao(DBConnect.getConn());
List<Doctor> list = dao.getAllDoctor();
for (Doctor d : list) {
%>
<option value="<%=d.getId()%>"><%=d.getFullName()%> (<%=d.getSpecialist()%>)
</option>
<%
}
%>
</select>
</div>
<div class="col-md-12">
<label>Full Address</label>
<textarea required name="address" class="form-control" rows="3"
cols=""></textarea>
</div>
<c:if test="${empty userObj }">
<a href="user_login.jsp" class="col-md-6 offset-md-3 btn btn-success">Submit</a>
</c:if>
<c:if test="${not empty userObj }">
<button class="col-md-6 offset-md-3 btn btn-success">Submit</button>
</c:if>
</form>
</div>
</div>
</div>
</div>
</div>
<%@include file="component/footer.jsp"%>
</body>
</html>
user_login.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@page isELIgnored="false"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>User Login Page</title>
<%@include file="component/allcss.jsp"%>
<style type="text/css">
.paint-card {
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
}
</style>
</head>
<body>
<%@include file="component/navbar.jsp"%>
<div class="container p-5">
<div class="row">
<div class="col-md-4 offset-md-4">
<div class="card paint-card">
<div class="card-body">
<p class="fs-4 text-center">User Login</p>
<c:if test="${not empty succMsg }">
<p class="text-center text-success fs-3">${succMsg}</p>
<c:remove var="succMsg" scope="session" />
</c:if>
<c:if test="${not empty errorMsg }">
<p class="text-center text-danger fs-5">${errorMsg}</p>
<c:remove var="errorMsg" scope="session" />
</c:if>
<form action="userLogin" method="post">
<div class="mb-3">
<label class="form-label">Email address</label> <input required
name="email" type="email" class="form-control">
</div>
<div class="mb-3">
<label class="form-label">Password</label> <input required
name="password" type="password" class="form-control">
</div>
<button type="submit" class="btn bg-success text-white col-md-12">Login</button>
</form>
<br> Don't have an account? <a href="signup.jsp"
class="text-decoration-none"> create one</a>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
view_appointment.jsp
<%@page import="com.entity.User"%>
<%@page import="com.entity.Doctor"%>
<%@page import="com.dao.DoctorDao"%>
<%@page import="com.entity.Appointment"%>
<%@page import="java.util.List"%>
<%@page import="com.db.DBConnect"%>
<%@page import="com.dao.AppointmentDAO"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@page isELIgnored="false"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<%@include file="component/allcss.jsp"%>
<style type="text/css">
.paint-card {
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
}
.backImg {
background: linear-gradient(rgba(0, 0, 0, .4), rgba(0, 0, 0, .4)),
url("img/hospital.jpg");
height: 20vh;
width: 100%;
background-size: cover;
background-repeat: no-repeat;
}
</style>
</head>
<body>
<c:if test="${empty userObj }">
<c:redirect url="user_login.jsp"></c:redirect>
</c:if>
<%@include file="component/navbar.jsp"%>
<div class="container-fulid backImg p-5">
<p class="text-center fs-2 text-white"></p>
</div>
<div class="container p-3">
<div class="row">
<div class="col-md-9">
<div class="card paint-card">
<div class="card-body">
<p class="fs-4 fw-bold text-center text-success">Appointment
List</p>
<table class="table">
<thead>
<tr>
<th scope="col">Full Name</th>
<th scope="col">Gender</th>
<th scope="col">Age</th>
<th scope="col">Appoint Date</th>
<th scope="col">Diseases</th>
<th scope="col">Doctor Name</th>
<th scope="col">Status</th>
</tr>
</thead>
<tbody>
<%
User user = (User) session.getAttribute("userObj");
AppointmentDAO dao = new AppointmentDAO(DBConnect.getConn());
DoctorDao dao2 = new DoctorDao(DBConnect.getConn());
List<Appointment> list = dao.getAllAppointmentByLoginUser(user.getId());
for (Appointment ap : list) {
Doctor d = dao2.getDoctorById(ap.getDoctorId());
%>
<tr>
<th><%=ap.getFullName()%></th>
<td><%=ap.getGender()%></td>
<td><%=ap.getAge()%></td>
<td><%=ap.getAppoinDate()%></td>
<td><%=ap.getDiseases()%></td>
<td><%=d.getFullName()%></td>
<td>
<%
if ("Pending".equals(ap.getStatus())) {
%> <a href="#" class="btn btn-sm btn-warning">Pending</a> <%
} else {
%> <%=ap.getStatus()%> <%
}
%>
</td>
</tr>
<%
}
%>
</tbody>
</table>
</div>
</div>
</div>
<div class="col-md-3 p-3">
<img alt="" src="img/doct.jpg">
</div>
</div>
</div>
</body>
</html>
Conclusion
In this post I have shared Hospital Management system java web project source code.