假期作业1

系统登陆:
UserMapper

点击查看代码
package com.vivy.mapper;

import com.vivy.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserMapper {
    User selectUser(@Param("userId")String userId, @Param("password") String password);
}

User:
点击查看代码
package com.vivy.pojo;

public class User {
    String userId;
    String password;
    public String getUserId() {
        return userId;
    }
    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

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

service:

点击查看代码
package com.vivy.service;

import com.vivy.mapper.UserMapper;
import com.vivy.pojo.User;
import com.vivy.util.SqlSessionFactoryUtils;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;

import java.util.List;

public class UserService {
    SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory();

    public User login(String userName,String password){
        SqlSession sqlSession = sqlSessionFactory.openSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

        User user = userMapper.selectUser(userName, password);
        sqlSession.close();
        return user;
    }

}

servlet:
点击查看代码
package com.vivy.web;

import com.vivy.pojo.User;
import com.vivy.service.UserService;

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

@WebServlet("/loginServlet")
public class loginServlet extends HttpServlet {
    private UserService service = new UserService();
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=utf-8");
        //# = new String(classId.getBytes(StandardCharsets.ISO_8859_1),StandardCharsets.UTF_8);

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

        User user = service.login(userId, password);

        PrintWriter writer = response.getWriter();

        if(user != null){
            HttpSession session = request.getSession();
            session.setAttribute("user", user);
            writer.write("登录成功");
            request.getRequestDispatcher("/main.jsp").forward(request,response);
        }else {
            writer.write("登陆失败");
        }
    }

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

UserMapper.xml

点击查看代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!--接口全路径名-->
<mapper namespace="com.vivy.mapper.UserMapper">

    <select id="selectUser" resultType="com.vivy.pojo.User">
        select *
        from tb_user
        where userId = #{userId} and password = #{password}
    </select>

</mapper>

html:

点击查看代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>欢迎登陆</title>
    <style>
        /* 全局样式 */
        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background-color: #f4f4f9;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            margin: 0;
        }
        /* 容器样式 */
        .login-container {
            background-color: #ffffff;
            padding: 40px;
            border-radius: 8px;
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
            width: 350px;
        }
        /* 标题样式 */
        h2 {
            text-align: center;
            color: #333;
            margin-bottom: 20px;
        }
        /* 分割线样式 */
        hr {
            border: 0;
            border-top: 1px solid #eaeaea;
            margin-bottom: 30px;
        }
        /* 表单输入框样式 */
        input[type="text"],
        input[type="password"] {
            width: 100%;
            padding: 12px;
            margin-bottom: 20px;
            border: 1px solid #ccc;
            border-radius: 4px;
            box-sizing: border-box;
            transition: border-color 0.3s;
        }
        input[type="text"]:focus,
        input[type="password"]:focus {
            border-color: #007BFF;
            outline: none;
        }
        /* 按钮容器样式 */
        .buttons {
            text-align: center;
        }
        /* 登录按钮样式 */
        #login_btn {
            background-color: #007BFF;
            color: white;
            padding: 12px 20px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            transition: background-color 0.3s;
        }
        #login_btn:hover {
            background-color: #0056b3;
        }
        /* 清除浮动样式 */
        .clear {
            clear: both;
        }
    </style>
</head>
<body>
<div class="login-container">
    <h2>欢迎登陆</h2>
    <hr>
    <form id="login-form" action="/old-demo/loginServlet" method="post">
        用户名:<input name="userId" type="text" id="userId"><br>
        密码:<input name="password" type="password" id="password"><br>
        <div class="buttons">
            <input value="登录" type="submit" id="login_btn">
        </div>
        <br class="clear">
    </form>
</div>
</body>
</html>

posted @ 2025-02-16 16:32  vivi_vimi  阅读(8)  评论(0)    收藏  举报