继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

DAO模式登录示例(初学)

田心枫
关注TA
已关注
手记 8
粉丝 105
获赞 190
1.思路 1.web层
login.jsp LoginServlet User
2.service层
UserService
3.dao层
UserDao
2.login.jsp:form表单以及提示信息
  ${requestScope["login.message"]}

  <form action="${pageContext.request.contextPath}/login" method="post">
  username:<input type="text" name="username"><br>
  password:<input type="password" name="password"><br>
  <input type="submit" value="提交">
  </form>
3.LoginServlet:接收数据及处理
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取表单提交的数据username和password
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        //封装属性
        User user = new User();
        user.setUsername(username);
        user.setPassword(password);
        //调用UserService中的login方法
        UserService service = new UserService();
        User existUser = service.login(user);
        //查询结果
        if(existUser == null){
            request.setAttribute("login.message", "用户名密码错误");
            request.getRequestDispatcher("/login.jsp").forward(request, response);
            return;
        }else{
//验证成功跳转到success页面显示session数据的email
            request.getSession().setAttribute("user", existUser);
            response.sendRedirect(request.getContextPath()+"/success.jsp");
            return;
        }

    }
4.UserService中的login
public User login(User user) {
        return new UserDao().findUser(user);
}
5.UserDao中的findUser()
public User findUser(User user) {   
//sql语句
        String sql = "select * from user where username='"+user.getUsername()+"' and password='"+user.getPassword()+"'";    
//数据库连接,读取数据,循环遍历
        Connection con = null;
        Statement st = null;
        ResultSet rs = null;    
        try {
            con = JdbcUtils.getConnection();
            st = con.createStatement();
            rs = st.executeQuery(sql);
            if(rs.next()){
                User u = new User();
                u.setId(rs.getInt("id"));
                u.setUsername(rs.getString("username"));
                u.setUsername(rs.getString("password"));
                u.setUsername(rs.getString("email"));
                return u;
            }   
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }
6.数据库配置jdbc.properties

driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql:///test
username=root
password=123456

7.success
  success ${user.username}

图片描述

打开App,阅读手记
2人推荐
发表评论
随时随地看视频慕课网APP