no message
This commit is contained in:
166
SMMS/src/com/chinasofti/servlet/LoginServlet.java
Normal file
166
SMMS/src/com/chinasofti/servlet/LoginServlet.java
Normal file
@@ -0,0 +1,166 @@
|
||||
/**
|
||||
* Copyright © 2025 eSunny Info. Tech Ltd. All rights reserved.
|
||||
*
|
||||
* 功能描述:
|
||||
* @Package: com.chinasofti.servlet
|
||||
* @author: 李洪涛
|
||||
* @date: 2025年3月27日 上午9:21:53
|
||||
*/
|
||||
package com.chinasofti.servlet;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
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.chinasofti.enums.IsCounselor;
|
||||
import com.chinasofti.enums.RoleId;
|
||||
import com.chinasofti.model.Clazz;
|
||||
import com.chinasofti.model.Role;
|
||||
import com.chinasofti.model.Teacher;
|
||||
import com.chinasofti.model.User;
|
||||
import com.chinasofti.service.ClazzService;
|
||||
import com.chinasofti.service.LoginService;
|
||||
import com.chinasofti.service.RoleService;
|
||||
import com.chinasofti.service.TeacherService;
|
||||
import com.chinasofti.service.impl.ClazzServiceImpl;
|
||||
import com.chinasofti.service.impl.LoginServiceImpl;
|
||||
import com.chinasofti.service.impl.RoleServiceImpl;
|
||||
import com.chinasofti.service.impl.TeacherServiceImpl;
|
||||
import com.chinasofti.utils.SM3PasswordEncoder;
|
||||
|
||||
/**
|
||||
*
|
||||
* Copyright: Copyright (c) 2025 chiansofti
|
||||
*
|
||||
* @ClassName: LoginServlet.java
|
||||
* @Description: 登录校验
|
||||
*
|
||||
* @version: v1.0.0
|
||||
* @author: 李洪涛
|
||||
* @date: 2025年3月27日 上午9:09:40
|
||||
*
|
||||
* Modification History:
|
||||
* Date Author Version Description
|
||||
*---------------------------------------------------------*
|
||||
* 2025年3月27日 李洪涛 v1.0.0 新建文件
|
||||
*/
|
||||
@WebServlet("/LoginServlet")
|
||||
public class LoginServlet extends HttpServlet {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private LoginService loginService = new LoginServiceImpl();
|
||||
private RoleService roleService = new RoleServiceImpl();
|
||||
private ClazzService clazzService = new ClazzServiceImpl();
|
||||
private TeacherService teacherService = new TeacherServiceImpl();
|
||||
|
||||
public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException{
|
||||
doPost(request, response);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
|
||||
* @Function: doPost
|
||||
* @Description: 登录校验,跳转页面
|
||||
*
|
||||
* @param: request
|
||||
* @param: response
|
||||
* @return: void
|
||||
* @throws:无
|
||||
*
|
||||
* @version: v1.0.0
|
||||
* @author: 李洪涛
|
||||
* @date: 2025年3月27日 上午9:12:20
|
||||
*
|
||||
* Modification History:
|
||||
* Date Author Version Description
|
||||
*---------------------------------------------------------*
|
||||
* 2025年3月27日 李洪涛 v1.0.0 新建方法
|
||||
*/
|
||||
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
||||
|
||||
String method = request.getParameter("method");
|
||||
if("logout".equals(method)){
|
||||
logout(request, response);
|
||||
return;
|
||||
}
|
||||
|
||||
String username = request.getParameter("username");
|
||||
String password = request.getParameter("password");
|
||||
|
||||
User user = new User();
|
||||
user.setUserName(username);
|
||||
|
||||
User res = loginService.loginCheck(user);
|
||||
|
||||
String loginStatus = "loginSuccess";
|
||||
if (null != res && SM3PasswordEncoder.matches(password, res.getPassWord())) {
|
||||
HttpSession session=request.getSession();
|
||||
Role role = roleService.findRoleById(res.getRoleId());
|
||||
session.setAttribute("user", res);
|
||||
session.setAttribute("roleCode", role.getRoleCode());
|
||||
if (RoleId.TEACHER.getId() == role.getId()) {
|
||||
long userId = res.getId();
|
||||
Teacher teacher = new Teacher();
|
||||
teacher.setUserId(userId);
|
||||
teacher = teacherService.findTeacher(teacher);
|
||||
List<Clazz> clazzs = new ArrayList<Clazz>();
|
||||
long teacherId = teacher.getId();
|
||||
clazzs.addAll(clazzService.findClazzsByTeacherId(teacherId));
|
||||
if (IsCounselor.YES.getIs().equals(teacher.getIsCounselor())) {
|
||||
session.setAttribute("isCounselor", IsCounselor.YES.getIs());
|
||||
clazzs.addAll(clazzService.findClazzsByUserIds(userId+""));
|
||||
} else {
|
||||
session.setAttribute("isCounselor", IsCounselor.NO.getIs());
|
||||
}
|
||||
String clazzIdStr = "";
|
||||
if (clazzs.size() > 0) {
|
||||
for (Clazz clazz : clazzs) {
|
||||
clazzIdStr += clazz.getId() + ",";
|
||||
}
|
||||
clazzIdStr = clazzIdStr.substring(0, clazzIdStr.length()-1);
|
||||
}
|
||||
session.setAttribute("clazzIdStr", clazzIdStr);
|
||||
session.setAttribute("teacherId", teacherId);
|
||||
}
|
||||
} else {
|
||||
loginStatus = "loginError";
|
||||
}
|
||||
response.getWriter().write(loginStatus);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @Function: logout
|
||||
* @Description: 退出登录
|
||||
*
|
||||
* @param: request
|
||||
* @param: response
|
||||
* @return: void
|
||||
* @throws:无
|
||||
*
|
||||
* @version: v1.0.0
|
||||
* @author: 李洪涛
|
||||
* @date: 2025年3月27日 上午9:12:20
|
||||
*
|
||||
* Modification History:
|
||||
* Date Author Version Description
|
||||
*---------------------------------------------------------*
|
||||
* 2025年3月27日 李洪涛 v1.0.0 新建方法
|
||||
*/
|
||||
private void logout(HttpServletRequest request,HttpServletResponse response) throws IOException{
|
||||
request.getSession().removeAttribute("user");
|
||||
request.getSession().removeAttribute("userType");
|
||||
response.sendRedirect("index.jsp");
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user