Java Web实现登录注册(超详细附代码)

作者 : admin 本文共3658个字,预计阅读时间需要10分钟 发布时间: 2024-06-17 共1人阅读

4.登录的数据流程


登录操作的主要调用流程图

Login.jsp

LoginServlet

UserDB

Java Web实现登录注册(超详细附代码)插图

第一步

Java Web实现登录注册(超详细附代码)插图(1)

第二步

Java Web实现登录注册(超详细附代码)插图(2)

第三步

Java Web实现登录注册(超详细附代码)插图(3)

第四步

Java Web实现登录注册(超详细附代码)插图(4)

5.部分代码的展示


5.1注册

register.jsp注册页面 通过表单实现跳转到servlet

world message board of the future

Register

${message}

复制代码

RegisterServlet.java

业务层:处理注册业务

package Sevlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import javaBean.User;

import useBean.UserDB;

@WebServlet(“/RegistServlet”)

public class RegistServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

String message =“”;

public RegistServlet() {

super();

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

request.setCharacterEncoding(“utf-8”);

//获取隐藏域的信息

String action = request.getParameter(“action”);

String url =“register.jsp”;

if(action.equals(“regist”))

url = registerUser(request,response);

getServletContext().getRequestDispatcher(url).forward(request, response);

}

//注册函数

private String registerUser(HttpServletRequest request,HttpServletResponse response) {

String username = request.getParameter(“username”);

String password = request.getParameter(“password”);

String password2 = request.getParameter(“password2”);

String message = “”;

//得到HttpSession类型的对象

HttpSession session = request.getSession();

//将数据存储于User对象

User user = new User();

user.setusername (username);

user.setpassword(password);

String url = “/login.jsp”;

if(password.equals(password2))

{

if( !UserDB.UserExists(username) ) {

message = “Registration successful! and login in”;

session.setAttribute(“message”, message);

//将注册用户信息写入数据库

UserDB.insert(user);

return url;

}

else

{

message = “The user name already exists”;

url = “/register.jsp”;

session.setAttribute(“message”, message);

return url;

}

}

else

{

message = “The password is inconsistent”;

session.setAttribute(“message”, message);

url = “/register.jsp”;

return url;

}

}

}

复制代码

Dao层实现判断用户名是否存在和插入数据库的方法 UserDB.java

//注册时判断用户名是否存在

public static boolean UserExists(String username) {

//可以建立一个连接池保存一定数量的连接,当有对象需要数据库连接时,直接将这个连接返回给该对象,

ConnectionPool pool = ConnectionPool.getInstance();

Connection connection = pool.getConnection();

PreparedStatement ps = null;

ResultSet rs = null;

String qr = “SELECT username FROM User “+ “WHERE username = ?”;

try {

ps = connection.prepareStatement(qr);

ps.setString(1, username);

rs = ps.executeQuery();

return rs.next();

} catch (SQLException e) {

System.out.println(e);

return false;

} finally {

DBUtil.closeResultSet(rs);

DBUtil.closePreparedStatement(ps);

pool.freeConnection(connection);

}

}

//将注册用户信息保存至数据库

public static int insert(User user) {

ConnectionPool pool = ConnectionPool.getInstance();

Connection connection = pool.getConnection();

PreparedStatement ps = null;

String qr = “INSERT INTO User (username, password)”+“VALUES (?, ?)”;

try {

ps = connection.prepareStatement(qr);

ps.setString(1, user.getusername());

ps.setString(2, user.getpassword());

return ps.executeUpdate();

} catch (SQLException e) {

System.out.println(e);

return 0;

} finally {

DBUtil.closePreparedStatement(ps);

pool.freeConnection(connection);

}

}

复制代码

5.2登录

login.jsp登录界面 通过表单实现跳转到servlet

world message board of the future

login

register

${message}

复制代码

LoginServlet.java 业务层:处理登录业务

package Sevlet;

import java.io.IOException;

import java.util.List;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.Cookie;

最后

金三银四到了,送上一个小福利!

Java Web实现登录注册(超详细附代码)插图(5)

Java Web实现登录注册(超详细附代码)插图(6)

Java Web实现登录注册(超详细附代码)插图(7)

orm>

${message}

复制代码

LoginServlet.java 业务层:处理登录业务

package Sevlet;

import java.io.IOException;

import java.util.List;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.Cookie;

最后

金三银四到了,送上一个小福利!

[外链图片转存中…(img-yaImbvoz-1714309681690)]

[外链图片转存中…(img-umNcoe1u-1714309681690)]

[外链图片转存中…(img-NRZXbUfw-1714309681691)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

本站无任何商业行为
个人在线分享-虚灵IT资料分享 » Java Web实现登录注册(超详细附代码)
E-->