java 用户登录_jsp+java servlet实现简单用户登录和注册页面

jsp+java servlet实现简单用户登录(使用数据库,包括注册页面)

功能介绍

本项目通过使用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依赖:03649045b2fa7f6e0971e6d4559fdfad.png

实现登录页面

创建数据库83ef311123f6754eb7e3b51af23879a7.png

此时数据库为空,无数据需要先进行注册才能登陆成功。

三个页面处理

欢迎界面(LoginServlet.jsp)

1.代码33991e67d421bfd1278aacfa37790f0a.png

2.页面如下:2ecc8fda4b6245edd9df612a336b4ade.png

验证码(index.jsp)

(点击验证码可以实现更新验证码)b3dc75ec42c1de137c3121deb1dc87c7.png

a076f84a2379a2fade6ecf2596083750.png

登录处理页面(LoginCl.java(servlet))

业务逻辑处理页面0154749efe6b8c9a0720c884a927914c.png

如果当前不存在该用户,则会输出账号密码错误等信息,存在该用户则会跳转到欢迎界面。

欢迎界面(welcome.jsp)0af30ad2de4e7cf215f3e08703242ea5.png

实现注册页面

信息注册(register.jsp)053301556b897ca5e5e586cd9ce6f245.png

e0404c9162e9c32da599209e2c1c4a85.png

点击注册后则会跳转到注册成功页面,将其账号和密码进行存储到数据库中,后可以直接进行登录。

注册成功页面(registerMessage.jsp)3f25ce9858735b00e75eee33a2bb0b55.png

bd262c1c11f89e01ef4ecdbd12bb9312.png

(如下所示,数据添加成功)8884d3c44f20636ed49118127578a6ff.png

功能演示

至此此项目结束,我演示一下登录时的场景。

1.数据库数据888672ad887843dd0dc5a8a4182cde6a.png

2.输入数据库中没有的信息2ecc8fda4b6245edd9df612a336b4ade.png

3b11989309b2f7a2a21613889279192e.png

3.账号密码正确126b81d7714fa4f56b15a5308f54bbd6.png

ps:需要注意一定要填写账户或者密码或者验证码,否则则会弹出错误窗口。

eg:94cb43308945f6e3c040ed0467fb0dc8.png

424d1201f46c03e3ebecc87ef4191670.png

24e90c3bf3275e9a012e4b3c54e453c9.png

总结

此项目需要用到的知识点比较多,其中包括 jsp,servlet,mysql,cookie, Javabean等。需要将学到的web知识联系起来。有不懂的代码问题欢迎提问。原作者姓名:IT界的徐小渣

原出处:CSDN

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

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个比较常见的需求,以下是一个简单的示例代码,供参考: 1. 创建一个 User 类,用于存储用户信息。 ```java public class User { private String username; private String password; // 其他用户信息字段 // 构造方法、getter 和 setter 略 } ``` 2. 创建一个 UserDao 类,用于操作用户信息(如保存到数据库、查询等)。 ```java public class UserDao { public void save(User user) { // 将用户信息保存到数据库 } public User findByUsername(String username) { // 根据用户名查询用户信息 return null; } // 其他操作略 } ``` 3. 创建一个注册页面 register.jsp,包含一个表单,用户填写用户名、密码等信息。 ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>用户注册</title> </head> <body> <h1>用户注册</h1> <form action="register" method="post"> 用户名:<input type="text" name="username"><br> 密码:<input type="password" name="password"><br> <input type="submit" value="注册"> </form> </body> </html> ``` 4. 创建一个 RegisterServlet 类,用于处理用户提交的注册信息。 ```java public class RegisterServlet extends HttpServlet { private UserDao userDao = new UserDao(); protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取用户提交的信息 String username = request.getParameter("username"); String password = request.getParameter("password"); // 创建 User 对象,并保存到数据库 User user = new User(username, password); userDao.save(user); // 注册成功,重定向到登录页面 response.sendRedirect("login.jsp"); } } ``` 5. 创建一个登录页面 login.jsp,包含一个表单,用户填写用户名、密码等信息。 ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>用户登录</title> </head> <body> <h1>用户登录</h1> <form action="login" method="post"> 用户名:<input type="text" name="username"><br> 密码:<input type="password" name="password"><br> <input type="submit" value="登录"> </form> </body> </html> ``` 6. 创建一个 LoginServlet 类,用于处理用户提交的登录信息。 ```java public class LoginServlet extends HttpServlet { private UserDao userDao = new UserDao(); protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取用户提交的信息 String username = request.getParameter("username"); String password = request.getParameter("password"); // 根据用户名查询用户信息 User user = userDao.findByUsername(username); // 验证用户信息 if (user != null && user.getPassword().equals(password)) { // 登录成功,将用户信息保存到 session 中 request.getSession().setAttribute("user", user); // 跳转到主页 response.sendRedirect("index.jsp"); } else { // 登录失败,跳转回登录页面,并显示错误信息 request.setAttribute("error", "用户名或密码错误"); request.getRequestDispatcher("login.jsp").forward(request, response); } } } ``` 以上是一个简单的示例,实际应用中可能需要更多的验证和处理,也可以根据具体需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值