You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
text/src/web/servlet/teacher/TeacherPasswordUpdateServle...

85 lines
3.5 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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);
}
}