使用idea做一个简单小项目(example+mysql+servlet)

1
package com.hcxy.controller;

import com.hcxy.pojo.Users;
import com.hcxy.service.UserService;
import com.hcxy.service.UserServiceImpl;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;

@WebServlet("/loginServlet")
public class LoginServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        String username = request.getParameter("username");
        UserService userService = new UserServiceImpl();
        Users user = userService.getUserByUserName(username);
        if(user != null){
            //用户名没问题
            String password = request.getParameter("password");
            if(password.equals(user.getPassword())){
                //密码没问题,登录成功
                HttpSession session = request.getSession();
                session.setAttribute("user",user.getUsername());
                //判断是否选中了自动登录
                String remember = request.getParameter("remember");
                if("remember".equals(remember)){
                    //勾选了
                    Cookie jsessionid = new Cookie("JSESSIONID", session.getId());
                    //设置cookie生命周期
                    jsessionid.setMaxAge(5 * 60 * 60);
                    response.addCookie(jsessionid);
                }
                request.getRequestDispatcher("/main.jsp").forward(request,response);
            }else{
                request.setAttribute("msg","密码错误");
                request.getRequestDispatcher("/login.jsp").forward(request,response);
            }
        }else{
            request.setAttribute("msg","用户名不存在");
            request.getRequestDispatcher("/login.jsp").forward(request,response);
        }
    }

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

 

2

package com.hcxy.controller; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.IOException; @WebServlet("/mainServlet") public class MainServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getSession(); Object user = session.getAttribute("user"); if(user != null){ //登录状态 //跳转到main.jsp response.sendRedirect(request.getContextPath()+"/main.jsp"); }else{ request.getRequestDispatcher("/login.jsp").forward(request,response); } } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } }

 

3

package com.hcxy.dao; import com.hcxy.pojo.Users; public interface UsersMapper { Users getUserByUserName(String username); }

 

4

package com.hcxy.pojo; import lombok.Data; @Data public class Users { private int uid; private String username; private String password; }

 

5

package com.hcxy.service; import com.hcxy.pojo.Users; import java.io.IOException; public interface UserService { Users getUserByUserName(String username) throws IOException; }

 

6

package com.hcxy.service; import com.hcxy.dao.UsersMapper; import com.hcxy.pojo.Users; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import java.io.IOException; import java.io.InputStream; public class UserServiceImpl implements UserService{ @Override public Users getUserByUserName(String username) throws IOException { //mybatis核心配置文件加载进来 InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml"); SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream); SqlSession sqlSession = build.openSession(); UsersMapper usersMapper = sqlSession.getMapper(UsersMapper.class); Users user = usersMapper.getUserByUserName(username); sqlSession.close(); return user; } }

 

7UserMapper.xml

<mapper namespace="com.hcxy.dao.UsersMapper"> <select id="getUserByUserName" parameterType="string" resultType="users"> select * from users where username = #{username} <sselect> </mapper>

 

8login.jsp

<%@ page contentType="texthhtml;charset=UTF-8" language="java" %> <%@ page isELIgnored="false" %> <html> <head> <title>登录界面</title> </head> <body> <p style="color: red">${msg}</p> <form action="${pageContext.request.contextPath}/loginServlet" method="post"> <label for="username">用户名:</label> <input id="username" name="username" type="text"><br> <label for="password">密码:</label> <input id="password" name="password" type="password"><br> <input type="checkbox" name="remember" value="remember">自动登录<br> <input type="submit" value="登录"> <input type="reset" value="重置"> </form> </body> <hhtml>

 

9main.jsp

<%@ page contentType="texthhtml;charset=UTF-8" language="java" %> <%@ page isELIgnored="false" %> <html> <head> <title>主页</title> </head> <body> ${user},欢迎您。 </body> <hhtml>

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值