public void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); //1. 获取用户名和密码 String remember = request.getParameter("remember"); BufferedReader br = request.getReader(); String params = br.readLine();//json字符串 //转为Brand对象 User us = JSON.parseObject(params, User.class); if("root".equals(us.getUsername())) { if("1234".equals(us.getPassword())) { if("true".equals(remember)) { //勾选了,发送Cookie //1. 创建Cookie对象 Cookie c_username = new Cookie("username",us.getUsername()); Cookie c_password = new Cookie("password",us.getPassword()); // 设置Cookie的存活时间 c_username.setMaxAge( 60 * 60 * 24 * 1); c_password.setMaxAge( 60 * 60 * 24 * 1); //2. 发送 response.addCookie(c_username); response.addCookie(c_password); } HttpSession session = request.getSession(); User user = new User(); user.setUsername("root"); user.setPassword("1234"); session.setAttribute("user",user); request.getRequestDispatcher("rootmenu.jsp").forward(request,response); } else request.getRequestDispatcher("index2.jsp").forward(request,response); } else { //2. 调用service查询 User user = brandService.Login(us.getUsername(), us.getPassword()); System.out.println(user); //3. 判断 if(user != null){ //登录成功,跳转到查询所有的BrandServlet //判断用户是否勾选记住我 if("true".equals(remember)){ //勾选了,发送Cookie //1. 创建Cookie对象 Cookie c_username = new Cookie("username",us.getUsername()); Cookie c_password = new Cookie("password",us.getPassword()); // 设置Cookie的存活时间 c_username.setMaxAge( 60 * 60 * 24 * 1); c_password.setMaxAge( 60 * 60 * 24 * 1); //2. 发送 response.addCookie(c_username); response.addCookie(c_password); } //将登陆成功后的user对象,存储到session HttpSession session = request.getSession(); session.setAttribute("user",user); response.getWriter().write("success"); }else { response.getWriter().write(""); } } } public void register(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); //1. 获取用户名和密码数据 BufferedReader br = request.getReader(); String params = br.readLine();//json字符串 System.out.println(params); //转为Brand对象 User us = JSON.parseObject(params, User.class); // 获取用户输入的验证码 // 程序生成的验证码,从Session获取 HttpSession session = request.getSession(); String checkCodeGen = (String) session.getAttribute("checkCodeGen"); System.out.println(checkCodeGen); // 比对 if(!checkCodeGen.equalsIgnoreCase(us.getCheckcode())){ response.getWriter().write(""); // 不允许注册 return; } //2. 调用service 注册 boolean flag = brandService.addUser(us); //3. 判断注册成功与否 if(flag){ //注册功能,跳转登陆页面 response.getWriter().write("success"); }else { //注册失败,跳转到注册页面 response.getWriter().write("error"); } }
public class User { int id; @Override public String toString() { return "User{" + "id=" + id + ", username='" + username + '\'' + ", password='" + password + '\'' + ", checkcode='" + checkcode + '\'' + '}'; } public int getId() { return id; } public void setId(int id) { this.id = id; } String username; String password; String checkcode; public String getCheckcode() { return checkcode; } public void setCheckcode(String checkcode) { this.checkcode = checkcode; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
学习到了登陆注册后端代码
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!