【无标题】idea

该代码示例展示了如何使用JavaDAO模式进行数据库操作,包括获取用户信息和插入新用户。loginServlet和logonServlet分别处理用户登录和注册请求,检查用户名和密码是否匹配,并通过userService接口进行业务逻辑处理。
摘要由CSDN通过智能技术生成

userDao

package dao;

import pojo.user;

import java.sql.*;

public class userDao {
    private Connection connection = null;
    private PreparedStatement preparedStatement = null;
    private ResultSet resultSet = null;

    public user getUserByName(String userName){
        try {
            Class.forName("com.mysql.jdbc.Driver");
            connection= DriverManager.getConnection("jdbc:mysql://localhost:3306/user","root", "root");
            preparedStatement=connection.prepareStatement("select * from user_table where userName=?");
            preparedStatement.setString(1,userName);
            ResultSet resultSet = preparedStatement.executeQuery();
            user user = new user();
            while (resultSet.next()){
                String username=resultSet.getString(1);
                String password=resultSet.getString(2);

                user.setUserName(username);
                user.setPassword(password);
            }
            return user;
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
            return null;
        }
    }

    public int insertUser(String userName,String password){
        try {
            Class.forName("com.mysql.jdbc.Driver");
            connection= DriverManager.getConnection("jdbc:mysql://localhost:3306/user","root", "root");
            preparedStatement=connection.prepareStatement("insert into user_table values(?,?)");
            preparedStatement.setString(1,userName);
            preparedStatement.setString(2,password);
            int i = preparedStatement.executeUpdate();
            return i;
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
            return 0;
        }
    }
}
user

package pojo;

public class user {
    private String userName;
    private String password;

    public user(){}

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

    public user(String userName, String password) {
        this.userName = userName;
        this.password = password;
    }

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

userServiceImpl

package service.impl;

import dao.userDao;
import pojo.user;
import service.userService;

public class userServiceImpl implements userService {
    userDao uDao=new userDao();
    @Override
    public boolean checkLogin(String userName, String password) {
        if(userName.equals("") || userName==null) return false;
        if(password.equals("") || password==null) return false;
        user user=uDao.getUserByName(userName);
        if(user==null) return false;
        if(!user.getPassword().equals(password)) return false;
        return true;
    }

    @Override
    public boolean logon(String userName, String password) {
        if(userName.equals("") || userName==null) return false;
        if(password.equals("") || password==null) return false;
        int i = uDao.insertUser(userName, password);
        return i>0;
    }
}
useService

package service;

public interface userService {
    boolean checkLogin(String userName,String password);

    boolean logon(String userName,String password);
}
loginServlet

package servlet;

import service.impl.userServiceImpl;
import service.userService;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class loginServlet extends HttpServlet {
    service.userService userService=new userServiceImpl();
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String userName = req.getParameter("userName");
        String password = req.getParameter("password");
        if(userService.checkLogin(userName,password)){
            req.getRequestDispatcher("/success.jsp").forward(req,resp);
        }
        req.getRequestDispatcher("/login.jsp").forward(req,resp);
    }
}

logonServlet

package servlet;

import service.impl.userServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class logonServlet extends HttpServlet {
    service.userService userService=new userServiceImpl();

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String userName = req.getParameter("userName");
        String password = req.getParameter("password");
        if (userService.logon(userName, password)) {
            req.getRequestDispatcher("/success.jsp").forward(req,resp);
        }
        req.getRequestDispatcher("/logon.jsp").forward(req,resp);
    }
}

test

import dao.userDao;
import org.junit.jupiter.api.Test;


public class test {
    @Test
    public void userDaoTest(){
        userDao userDao = new userDao();
        System.out.println(userDao.getUserByName("123"));
        System.out.println(userDao.insertUser("110", "110"));
    }
}
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">
    <servlet>
        <servlet-name>login</servlet-name>
        <servlet-class>servlet.loginServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>login</servlet-name>
        <url-pattern>/login</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>logon</servlet-name>
        <servlet-class>servlet.logonServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>logon</servlet-name>
        <url-pattern>/logon</url-pattern>
    </servlet-mapping>
</web-app>

index.jsp

<%--
  Created by IntelliJ IDEA.
  User: 86183
  Date: 2023/3/15
  Time: 17:49
  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>
    <a href="./login.jsp">登录</a> <a href="./logon.jsp">注册</a>
</h1>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值