一个简单的登录注册demo

1、简单创个库,如下

在这里插入图片描述

2、创建项目

在这里插入图片描述
简单创建一个javaweb项目并命好名。

3、接口代码

package com.dao;

import com.domain.User;

public interface UserDao {
    public boolean checkLogin(String username, String password);

    public boolean checkregist(User user);
}

4、接口实现类

package com.dao.impl;

import com.domain.User;
import com.util.DBUtil;
import com.dao.UserDao;

import java.sql.*;

public class UserDaoImpl implements UserDao {

    /**
     * 登录
     * @param username
     * @param password
     * @return
     */
    public boolean checkLogin(String username, String password){
        boolean flag = false;
        Connection conn = null;
        Statement st = null;
        ResultSet rs = null;
        ResultSet rz = null;
        
        String sql ="select * from user where uname = '"+ username +"'";
        conn = DBUtil.getConnection();
        try {
            st = conn.createStatement();
            rs = st.executeQuery(sql);
            while (rs.next()){
                if(rs.getString("upassword").equals(password)){
                    flag = true;
                }
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(rs, st, conn);
        }
        return flag;
    }

    /**
     * 注册
     * @param user
     * @return
     */
    @Override
    public boolean checkregist(User user) {
        boolean flag = false;
        Connection conn = null;
        PreparedStatement pst = null;
        /*
        注册的方法
        */
        String sql = "insert into user(uname,upassword) values(?,?)";
        conn = DBUtil.getConnection();
        try {
            pst = conn.prepareStatement(sql);
            pst.setString(1,user.getUsername());
            pst.setString(2,user.getPassword());
            int row = pst.executeUpdate();
            if(row>0){
                flag = true;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(pst, conn);
        }
        return flag;
    }
}

5、实体类

package com.domain;

public class User {
    protected String username;
    protected String password;

    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;
    }

    @Override
    public String toString() {
        return "User{" +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

6、响应相关

登录

package com.servlet;

import com.dao.UserDao;
import com.dao.impl.UserDaoImpl;

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 java.io.IOException;

@WebServlet("/loginServlet")
public class LoginServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");

        String username = request.getParameter("username");
        String password = request.getParameter("password");

        UserDao ud = new UserDaoImpl();

        boolean flag = ud.checkLogin(username, password);
        if(flag){
            HttpSession session = request.getSession();
            session.setAttribute("username", username);
            //成功跳转
            response.sendRedirect("loginSucceed.jsp");
        }else{
            //登录失败
            response.sendRedirect("loginFailed.jsp");
        }
    }

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

注册

package com.servlet;

import com.dao.UserDao;
import com.dao.impl.UserDaoImpl;
import com.domain.User;

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 java.io.IOException;

@WebServlet("/registServlet")
public class RegistServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        
        UserDao ud = new UserDaoImpl();
        User u = new User();
        
        u.setUsername(username);
        u.setPassword(password);
        
        boolean flag = ud.checkregist(u);
        if(flag){
            //注册成功后跳转
            response.sendRedirect("login.jsp");
        }else{
            response.sendRedirect("register.jsp");
        }
    }

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

7、MySQL连接工具类

package com.util;

import java.sql.*;

public class DBUtil {
    private static String driver = "com.mysql.jdbc.Driver";
    private static String url = "jdbc:mysql://localhost:3306/tes";
    private static String user = "root";
    private static String pwd = "root";

    //加载驱动
    static{
        try {
            Class.forName(driver);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    //连接对象
    public static Connection getConnection(){
        Connection conn = null;
        try {
            conn = DriverManager.getConnection(url, user, pwd);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }

    //关闭
    public static void close(ResultSet rs, Statement st, Connection conn){
        try {
            if(rs != null){
                rs.close();
            }
            if(st != null){
                st.close();
            }
            if(conn != null){
                conn.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public static void close(PreparedStatement pst, Connection conn){
        close(null, pst, conn);
    }
}

此处你配置好自己的数据库端口与用户名和密码即可

8、web目录下

8.1、index.jsp

<%--
  Created by IntelliJ IDEA.
  User: ASUS
  Date: 2021/11/29
  Time: 22:18
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
  <title>首页</title>
</head>
<body>
<h1>网站首页</h1>
<br>
<p><a href="login.jsp">登录</a> <a href="register.jsp">注册</a></p>
</body>
</html>

8.2、login.jsp

下面展示一些 内联代码片

<%--
  Created by IntelliJ IDEA.
  User: ASUS
  Date: 2021/11/29
  Time: 22:29
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登录</title>
</head>
<body>
<h1>用户登录</h1>
<form action="${pageContext.request.contextPath}/loginServlet" method="post">
    <p>用户名:<input type="test" name="username"></p>
    <p>密码:<input type="password" name="password"></p>
    <p><input type="submit" value="登录"> <input type="reset" value="重置"></p>
</form>
</body>
</html>

8.3、loginFailed.jsp

下面展示一些 内联代码片

<%--
  Created by IntelliJ IDEA.
  User: ASUS
  Date: 2021/11/29
  Time: 22:30
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登录失败</title>
</head>
<body>
<h1>登录失败!</h1>
<p><a href="login.jsp">重新登录</a></p>
</body>
</html>

8.4、loginSucceed.jsp

<%--
  Created by IntelliJ IDEA.
  User: ASUS
  Date: 2021/11/29
  Time: 22:30
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登录成功</title>
</head>
<body>
<h1>登录成功,欢迎您:${sessionScope.username}</h1>
</body>
</html>

8.5、register.jsp

<%--
  Created by IntelliJ IDEA.
  User: ry
  Date: 2021/12/1
  Time: 10:13
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>注册</title>
</head>
<body>
<h1>用户注册</h1>
<form action="${pageContext.request.contextPath}/registServlet" method="post">
    <p>用户名:<input type="text" name="username"></p>
    <p>密码:<input type="password" name="password"></p>
    <p><input type="submit" value="注册" onclick="alert('注册成功')"> <input type="reset" value="重置"></p>
    <p><a href="login.jsp">登录</a></p>
</form>
</body>
</html>

9、web.xml

下面展示一些 内联代码片

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
     <welcome-file-list>
         <welcome-file>index.jsp</welcome-file>
     </welcome-file-list>
</web-app>

10、相关配置事项

记得启动配置成Tomcat,然后开始配置Tomcat的细节,选择自己电脑上安装的Tomcat的位置,这一步是配置成server;然后配置Deployment Dicrectory,选择到自己项目的web级别页就行其他默认配置;
右键点开项目的project Structure,将所有的SDK配置成1.8,然后语言级别选Lambads 8,其他默认;
web下新增文件夹lib,用来存放我们的MySQL驱动jar包,可自己从网上搜寻下载并复制至此位置;
如果某项引用报错,一般是jar包缺失问题,根据提示下载即可。
检查无报错,试运行,出现连接便成功。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值