jsp+java servlet实现简单用户登录和注册页面(连接数据库,登录页面包含验证码,两周内免登陆等功能)

您所在的位置:网站首页 jsp中登录注册页面 jsp+java servlet实现简单用户登录和注册页面(连接数据库,登录页面包含验证码,两周内免登陆等功能)

jsp+java servlet实现简单用户登录和注册页面(连接数据库,登录页面包含验证码,两周内免登陆等功能)

2023-06-29 10:10| 来源: 网络整理| 查看: 265

jsp+java servlet实现简单用户登录和注册页面(连接数据库,登录页面包含验证码,两周内免登陆等功能)

IT界的徐小渣 2020-11-08 20:24:58 2231 收藏 24 分类专栏: java 文章标签: java jsp servlet 版权 jsp+java servlet实现简单用户登录(使用数据库,包括注册页面) 功能介绍 前期工作准备 实现登录页面 创建数据库 三个页面处理 欢迎界面(LoginServlet.jsp) 验证码(index.jsp) 登录处理页面(LoginCl.java(servlet)) 欢迎界面(welcome.jsp) 实现注册页面 信息注册(register.jsp) 注册成功页面(registerMessage.jsp) 功能演示 总结 功能介绍 本项目通过使用jsp和servlet实现简单的用户登录。主要逻辑为:

如果用户不存在,则首先进行注册(注册信息同步到数据库中)。 进行注册后,可进入登录页面对账号进行登录。 如果账号存在,则正确跳转到欢迎界面,否则提示用户账号信息输入错误。 用户进行登录页面时需要填写验证码同时可勾选是否两周内免登陆。 用户进入欢迎界面,则会显示这是用户第几次登录,如果不是第一次登录则会显示上次登录时间。 如果用户直接进入welcome,(没有进行登录,直接打开welcome.jsp)则会跳转到登录页面,防止非法登录。 前期工作准备 1.安装了Tomcat并可以成功使用。 2.由于需要与数据库连接,本项目使用的是mysql数据库,需要引入 mysql-connector-java-5.1.9.jar包(可在官方下载或者通过maven引入mysql依赖),需要注意mysql-connector-java-5.1.9.jar需要放在C:\Program Files\Java\jdk1.8.0_201\jre\lib\ext路径下,否则会出现连接数据库异常。 引入maven依赖:

mysql mysql-connector-java 5.1.38 1 2 3 4 5 实现登录页面 创建数据库 CREATE TABLE `usert` ( `username` varchar(20) DEFAULT NULL, `password` varchar(20) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=gbk 1 2 3 4 此时数据库为空,无数据需要先进行注册才能登陆成功。

三个页面处理 欢迎界面(LoginServlet.jsp) 1.代码

LoginServlet 用户名: 密码: 两周内免登陆 验证码:

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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 2.页面如下: 在这里插入图片描述

验证码(index.jsp) (点击验证码可以实现更新验证码)

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException { //中文乱码解决方法 response.setContentType(“text/html;charset=gb2312”); //防止非法登录 得到session HttpSession httpSession=request.getSession(true); //修改session的存在时间为20s httpSession.setMaxInactiveInterval(20); httpSession.setAttribute(“pass”,“ok”); //获取用户名的账号和密码 String u=null; //针对jsp 其username为username1 u=request.getParameter(“username1”); String p=null; p=request.getParameter(“passwd”); //得到提交的验证码 String code = request.getParameter(“code”); //获取session验证码 HttpSession session = request.getSession(); String randStr = (String) session.getAttribute(“randStr”); response.setCharacterEncoding(“gb2312”); //当账号信息和验证码输入正确时才可以访问 try { //启动mysql驱动器 Class.forName(“com.mysql.jdbc.Driver”); Connection con=DriverManager.getConnection(“jdbc:mysql://localhost:3306/test”,“root”,“123456”); String sql=“select * from usert where username=? and password=?”; PreparedStatement preparedStatement = con.prepareStatement(sql); preparedStatement.setString(1,u); preparedStatement.setString(2,p); ResultSet rs = preparedStatement.executeQuery(); if(!rs.next()){ response.getWriter().println(“抱歉:账号或密码错误,请注意核实信息重新输入”); return; } else { //获取到 if(code.equals(randStr)) { String keep = request.getParameter(“keep”); //勾选了两周内免登陆选项 if (keep != null) { //创建cookie Cookie cookie1 = new Cookie(“username”, u); Cookie cookie2 = new Cookie(“password”, p); //设置关联路径 cookie1.setPath(request.getContextPath()); cookie2.setPath(request.getContextPath()); //设置cookie的消亡时间 两周 cookie1.setMaxAge(2 * 7 * 24 * 60 * 60); cookie1.setMaxAge(2 * 7 * 24 * 60 * 60); //把cookie信息写给浏览器 response.addCookie(cookie1); response.addCookie(cookie2); } //跳转到欢迎界面 response.sendRedirect(“welcome.jsp?uname=” + u + " &password=" + p); } rs.close(); preparedStatement.close(); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ this.doGet(request,response); } }

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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 如果当前不存在该用户,则会输出账号密码错误等信息,存在该用户则会跳转到欢迎界面。

欢迎界面(welcome.jsp)

welcome

主界面 welcome name : password: 这是你第: 次访问本网站! 返回重新登录

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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 实现注册页面 信息注册(register.jsp)

register 欢迎您进行注册 请输入账号: 请输入密码(要求:必须包含大小写英文和数字无非法字符,长度大于6位小于20位): 请选择性别:男 女 请选择家乡: 北京 上海 陕西 请选择您的爱好:唱歌 跳舞 打球 玩游戏

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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 在这里插入图片描述 点击注册后则会跳转到注册成功页面,将其账号和密码进行存储到数据库中,后可以直接进行登录。

注册成功页面(registerMessage.jsp)

message 信息注册成功!该用户注册信息如下:

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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 在这里插入图片描述 (如下所示,数据添加成功) 在这里插入图片描述

功能演示 至此此项目结束,我演示一下登录时的场景。 1.数据库数据 在这里插入图片描述 2.输入数据库中没有的信息 在这里插入图片描述 在这里插入图片描述 3.账号密码正确 在这里插入图片描述 ps:需要注意一定要填写账户或者密码或者验证码,否则则会弹出错误窗口。 eg: 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3