package controller;
import dao.UserDao;
import model.*;
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 java.io.IOException;
import java.sql.SQLException;
@WebServlet("/changepwd")
public class ChangePasswordController extends HttpServlet {
private static final String student = "学生";
private static final String teacher = "导师";
private static final String academicAdmin = "学院管理呿";
private static final String schoolAdmin = "研究生院管理呿";
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8;");
String former = req.getParameter("former");
String newpwd = req.getParameter("new");
String confirm = req.getParameter("confirm");
String userType = req.getParameter("userType");
System.out.println("userType line 31: " + userType);
HttpSession session = req.getSession();
if(newpwd.equals(confirm)) {
if (student.equals(userType)) {
Student stu = (Student)session.getAttribute("currentStudent");
System.out.println("stu.getStudent_number(): " + stu.getStudent_number());
boolean exists = UserDao.userExists(stu.getStudent_number(), former, stu.getIdentity());
if(!exists){
resp.getWriter().println("<h1>错误,原密码输入错诿</h1>");
return;
}
UserDao.changePassword(stu.getStudent_number(), newpwd);
} else if (teacher.equals(userType)) {
Teacher tea = (Teacher)session.getAttribute("currentTeacher");
boolean exists = UserDao.userExists(tea.getTeacherNumber(), former, tea.getIdentity());
if(!exists){
resp.getWriter().println("<h1>错误,原密码输入错诿</h1>");
return;
}
UserDao.changePassword(tea.getTeacherNumber(), newpwd);
} else if (academicAdmin.equals(userType)) {
AcademicAdmin aca = (AcademicAdmin)session.getAttribute("currentAcademicAdmin");
boolean exists = UserDao.userExists(aca.getAdminNumber(), former, aca.getIdentity());
if(!exists){
resp.getWriter().println("<h1>错误,原密码输入错诿</h1>");
return;
}
UserDao.changePassword(aca.getAdminNumber(), newpwd);
} else if (schoolAdmin.equals(userType)) {
SchoolAdmin sch = (SchoolAdmin)session.getAttribute("currentSchoolAdmin");
boolean exists = UserDao.userExists(sch.getAdminNumber(), former, sch.getIdentity());
if(!exists){
resp.getWriter().println("<h1>错误,原密码输入错诿</h1>");
return;
}
UserDao.changePassword(sch.getAdminNumber(), newpwd);
} else {
resp.getWriter().println("<h1>错误,修改失败</h1>");
}
resp.getWriter().println("<h1>密码修改成功</h1>");
}else {
resp.getWriter().println("<h1>错误,两次密码不一臿</h1>");
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}