注册案例[session]
注册功能:保存用户信息到数据库
验证码功能:
展示验证码:展示验证码图片,并可以点击切换
校验验证码:验证码填写不正确,则注册失败
注册案例 -- 校验验证码
判断程序生成的验证码 和 用户输入的验证码 是否一样,如果不一样,则阻止注册
验证码图片访问和提交注册表单是两次请求,所以要将程序生成的验证码存入Session中
验证码存入session
1 2 3 4 5 6 7 8 9 10 11 12 | @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 生成验证码 ServletOutputStream os = response.getOutputStream(); String checkCode = CheckCodeUtil.outputVerifyImage(100, 50, os, 4); // 存入Session HttpSession session = request.getSession(); session.setAttribute( "checkCodeGen" ,checkCode); } |
保存表单获取session
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //1. 获取用户名和密码数据 String username = request.getParameter( "username" ); String password = request.getParameter( "password" ); User user = new User(); user.setUsername(username); user.setPassword(password); // 获取用户输入的验证码 String checkCode = request.getParameter( "checkCode" ); // 程序生成的验证码,从Session获取 HttpSession session = request.getSession(); String checkCodeGen = (String) session.getAttribute( "checkCodeGen" ); // 比对 if (!checkCodeGen.equalsIgnoreCase(checkCode)){ request.setAttribute( "register_msg" , "验证码错误" ); request.getRequestDispatcher( "/register.jsp" ).forward(request,response); // 不允许注册 return ; } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY