关于Java实现登录选项

2021/12/5 1:18:27

本文主要是介绍关于Java实现登录选项,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

登录的话首先要再数据库中存储用户的信息,然后再将用户信息与数据库信息进行匹配

首先再servlet里接受前端传来的数据

代码如下:

public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        //接收表单信息
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String verifyc  = request.getParameter("verifycode");
        String pickname = request.getParameter("pickname");
        //设置回显
        
        request.setAttribute("username", username);
        request.setAttribute("password", password);
        request.setAttribute("pickname", pickname);
        
        //获取验证码
        String svc =(String) request.getSession().getAttribute("sessionverify");
        //根据用户名查询用户
        User user =new UserDao().selectByUsername(username);
        System.out.println(pickname);
        System.out.println(username);
        UserDao dao = new UserDao();
        
        
        
        if(user!=null){
            
            if(user.getPassword().equals(password)){
                request.getSession().setAttribute("user", user);            
                System.out.println("index");
                if(user.getNickname().equals("g")) {
                    response.sendRedirect("index.jsp");
                }else if(user.getNickname().equals("y")) {
                    response.sendRedirect("index2.jsp");
                }
            }else {
                request.setAttribute("loginError", "* 密码错误");
                request.getRequestDispatcher("login.jsp").forward(request, response);
            }
        }else {
            request.setAttribute("loginError", "* 用户不存在");
            request.getRequestDispatcher("login.jsp").forward(request, response);
        }
        
    }

重点是这一句:

User user =new UserDao().selectByUsername(username);这里调用dao包里的查找用户信息,再dao包中匹配
dao包代码如下:
public List<User> selectByMap(Map<String,Object> paramMap) {
        Connection con = DBUtil.getConnection();
        List<User> list = new ArrayList<>();
        StringBuilder sql =new StringBuilder("select * from user where 1=1");
        List<Object> paramList = new ArrayList<>();
        for(String key:paramMap.keySet()){
            sql.append(" and ").append(key).append(" = ?");
            paramList.add(paramMap.get(key));
        }
        PreparedStatement pstmt =null;
        try {
            pstmt = con.prepareStatement(sql.toString());
            for(int i=0;i<paramList.size();i++){
                pstmt.setObject(i,paramList.get(i));
            }
            //System.out.println("到UserDao这了");
            list=resultSetToBean(pstmt.executeQuery());
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            DBUtil.close(con,pstmt);
        }
        return list;
    }

然后不出意外就可以通过servlet跳转至其他前端页面了


                   

这篇关于关于Java实现登录选项的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程