|
|
package web.servlet.teacher;
|
|
|
|
|
|
import domain.Student;
|
|
|
import domain.Teacher;
|
|
|
import service.StudentService;
|
|
|
import service.TeacherService;
|
|
|
import service.impl.StudentServiceImpl;
|
|
|
import service.impl.TeacherServiceImpl;
|
|
|
|
|
|
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.util.Date;
|
|
|
|
|
|
@WebServlet("/teacherPasswordUpdateServlet")
|
|
|
public class TeacherPasswordUpdateServlet extends HttpServlet {
|
|
|
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
|
|
// 设置请求编码为utf-8
|
|
|
request.setCharacterEncoding("utf-8");
|
|
|
// 获取当前会话
|
|
|
HttpSession session = request.getSession();
|
|
|
// 从会话中获取教师对象
|
|
|
Teacher teacher = (Teacher)session.getAttribute("teacher");
|
|
|
|
|
|
// 获取教师ID
|
|
|
String teacherid = teacher.getT_id();
|
|
|
<<<<<<< HEAD
|
|
|
=======
|
|
|
//3
|
|
|
// 获取新密码
|
|
|
<<<<<<< HEAD
|
|
|
>>>>>>> remotes/origin/develop
|
|
|
=======
|
|
|
>>>>>>> remotes/origin/develop
|
|
|
String newpassword = request.getParameter("teacher-newpassword");
|
|
|
// 获取确认新密码
|
|
|
String ennewpassword = request.getParameter("teacher-ennewpassword");
|
|
|
// 定义密码格式正则表达式
|
|
|
String regex = "^[\\w]{3,12}$";
|
|
|
// 判断新密码是否符合格式
|
|
|
boolean flag = newpassword.matches(regex);
|
|
|
// 如果新密码不符合格式
|
|
|
if (!flag) {
|
|
|
// 设置错误信息
|
|
|
request.setAttribute("update_msg", "密码格式错误,重新提交!"+String.format("%tT",new Date()));
|
|
|
// 转发到修改密码页面
|
|
|
request.getRequestDispatcher("/WEB-INF/teacher/teacherUpdatePassword.jsp").forward(request, response);
|
|
|
// 如果新密码和确认新密码不一致
|
|
|
} else if (!newpassword.equals(ennewpassword)) {
|
|
|
// 设置错误信息
|
|
|
request.setAttribute("update_msg", "密码确认错误,请重新提交!" + String.format("%tT", new Date()));
|
|
|
// 转发到修改密码页面
|
|
|
request.getRequestDispatcher("/WEB-INF/teacher/teacherUpdatePassword.jsp").forward(request, response);
|
|
|
// 如果新密码和确认新密码一致
|
|
|
} else {
|
|
|
|
|
|
// 创建TeacherService对象
|
|
|
TeacherService service= new TeacherServiceImpl();
|
|
|
// 调用updatePassword方法,更新密码
|
|
|
service.updatePassword(teacherid,newpassword);
|
|
|
|
|
|
// 根据teacherid查找新的Teacher对象
|
|
|
Teacher newTeacher = service.findTeacherById(teacher);
|
|
|
// 将新的Teacher对象赋值给teacher
|
|
|
teacher = newTeacher;
|
|
|
// 将teacher对象存入session中
|
|
|
session.setAttribute("teacher",teacher);
|
|
|
|
|
|
// 设置update_msg属性,提示修改成功
|
|
|
request.setAttribute("update_msg", "修改成功!" + String.format("%tT", new Date()));
|
|
|
// 转发到teacherUpdatePassword.jsp页面
|
|
|
request.getRequestDispatcher("/WEB-INF/teacher/teacherUpdatePassword.jsp").forward(request, response);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
|
|
doPost(request,response);
|
|
|
}
|
|
|
}
|