登录功能_代码实现

登录功能_代码实现

public class LoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);

}

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 设置编码
request.setCharacterEncoding("UTF-8");
// 获取数据
String verifycode = request.getParameter("verifycode");
Map map = request.getParameterMap();
// 验证码校验
HttpSession session = request.getSession();
String o = (String) session.getAttribute("CHECKCODE_SERVER");
session.removeAttribute("CHECKCODE_SERVER");
if (!o.equalsIgnoreCase(verifycode)) {
//验证码错误
//提示信息
request.setAttribute("login_msg", "验证码错误");
//跳转登陆页面
request.getRequestDispatcher("/login.jsp").forward(request, response);
return;
}
// 封装user对象
User user = new User();
try {
BeanUtils.populate(user,map);
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
} catch (InvocationTargetException e) {
throw new RuntimeException(e);
}

// 调用Servlet查询
UserService service = new UserServiceImpl();
User loginUser = service.login(user);
// 判断登录成功
if (loginUser!=null){
// 登路成功
// 将用户存入session
session.setAttribute("user",loginUser);
// 跳转页面
response.sendRedirect(request.getContextPath()+"/index.jsp");
}else {
request.setAttribute("login_msg","用户名或者验证码错误");
// 跳转‘
request.getRequestDispatcher("/login.jsp").forward(request,response);
}
}
}

jsp错误提示页面

<!-- 出错显示的信息框 -->
<div class="alert alert-warning alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" >
<span>&times;</span></button>
<strong>${login_msg}</strong>
</div>
posted @ 2022-08-19 14:31  一位程序袁  阅读(63)  评论(0编辑  收藏  举报