javaweb记住用户名和密码,QueryRunner使用,Page分页

这篇博客介绍了如何在JavaWeb应用中实现记住用户名和密码的功能,并利用QueryRunner简化JDBC操作。重点讲解了DbUtils的ResultSetHandler接口的几个实现类,如BeanListHandler和MapHandler,以及如何结合C3p0进行数据库连接池管理。还提到了QueryRunner在分页查询中的应用,涉及到Page类、GoodDao、GoodService和GoodServlet的相关内容。
摘要由CSDN通过智能技术生成

在这里插入图片描述
在这里插入图片描述

点击记住密码登录之后,提交到servlet

   public void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   
        String name = request.getParameter("name");
        String password = request.getParameter("password");
        UserService userService = new UserService();
        User user=null;
        try {
   
             user = userService.login(name, password);

        } catch (SQLException e) {
   
            e.printStackTrace();
        }
        if (user!=null){
   

                //登录成功后我们再获取是否保存密码的信息,如果失败了保存密码就没有意义了
                String remember = request.getParameter("remember");
                if (remember!=null&&remember.equals("yes")){
   
                    // 将用户名和密码加入到cookie中
                    Cookie nameCookie = new Cookie("name", name);
                    Cookie passwordCookie = new Cookie("password", password);
                    //设置cookie的有效期 防止销毁
                    nameCookie.setMaxAge(60*10);
                    passwordCookie.setMaxAge(60*10);
                    //将cookie发送给客户端保存
                    response.addCookie(nameCookie);
                    response.addCookie(passwordCookie);

                }
                request.getSession().setAttribute("user",user);
                //成功跳转到主页

            //成功跳转到主页
            response.sendRedirect(request.getContextPath()+"/index.jsp");
        }else{
   
            //登录失败
            response.setContentType("text/html;charset=UTF-8");
            response.getWriter().write("用户登录失败");

        }


这样到前端就用cooke显示了

     <!--登录-->
        <div class="web_login" id="web_login">
            <div class="login-box">
                <div class="login_form">
                    <form action="user"
                          accept-charset="utf-8" id="login_form" class="loginForm"
                          method="post">
                        <input type="hidden" name="method" value="login"/>
                        <input type="hidden" name="did" value="0"/> <input type="hidden"
                                                                           name="to" value="log"/>
                        <div class="uinArea" id="uinArea">
                            <label class="input-tips" for="u">帐号:</label>
                            <div class="inputOuter" id="uArea">
                                <input type="text" id="u" name="name" value="${cookie.name.value}" class="inputstyle"/>
                            </div>
                        </div>
                        <div class="pwdArea" id="pwdArea">
                            <label class="input-tips" for="p">密码:</label>
                            <div class="inputOuter" id="pArea">

                                <input type="password" id="p" name="password" value="${cookie.password.value}" class="inputstyle"/>
                            </div>
                        </div>

                        <div style="margin-left: 45px;margin-top: 10px">
                            <input style="vertical-align: middle;" type="checkbox" value="yes" name
### 回答1: 实现该功能的一般步骤如下: 1. 在数据库中创建用户表,包括用户名密码等字段。 2. 在 JavaWeb 中编写注册页面,包括用户名密码的输入框、提交按钮等。 3. 在 JavaWeb 中编写处理注册请求的 Servlet,读取页面提交的用户名密码,判断用户名是否已经存在于数据库中。 4. 如果用户名不存在,则将新用户的用户名密码插入到数据库中。 5. 在页面中返回注册成功或失败的消息。 以下是一个简单的示例代码: 1. 创建用户表 假设用户表名为 `user`,包含以下字段: ``` CREATE TABLE user ( id int(11) NOT NULL AUTO_INCREMENT, username varchar(50) NOT NULL, password varchar(50) NOT NULL, PRIMARY KEY (id), UNIQUE KEY username (username) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ``` 其中,`username` 字段设为唯一索引,确保用户名不重复。 2. 编写注册页面 在 JSP 中创建注册页面 `register.jsp`,包括用户名密码的输入框和提交按钮: ```html <html> <head> <title>用户注册</title> </head> <body> <h1>用户注册</h1> <form action="register" method="post"> 用户名:<input type="text" name="username"><br> 密码:<input type="password" name="password"><br> <input type="submit" value="注册"> </form> </body> </html> ``` 3. 编写处理注册请求的 Servlet 在 Servlet 中处理注册请求,读取页面提交的用户名密码,判断用户名是否已经存在于数据库中: ```java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; public class RegisterServlet extends HttpServlet { // 数据库连接信息 private String url = "jdbc:mysql://localhost:3306/test"; private String user = "root"; private String password = "123456"; public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置请求编码为 UTF-8 request.setCharacterEncoding("UTF-8"); // 获取页面提交的用户名密码 String username = request.getParameter("username"); String password = request.getParameter("password"); // 判断用户名是否已经存在 if (isUsernameExist(username)) { // 用户名已经存在,返回注册失败的消息 response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head><title>注册失败</title></head>"); out.println("<body>"); out.println("<h1>注册失败,用户名已存在!</h1>"); out.println("</body>"); out.println("</html>"); } else { // 用户名不存在,将新用户的用户名密码插入到数据库中 insertUser(username, password); // 返回注册成功的消息 response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head><title>注册成功</title></head>"); out.println("<body>"); out.println("<h1>注册成功!</h1>"); out.println("</body>"); out.println("</html>"); } } // 判断用户名是否 ### 回答2: Javaweb根据用户名密码完成注册功能时,可以通过以下步骤判断输入的用户名数据库中是否存在,如果不存在则继续执行注册功能: 1. 首先,从前端页面获取用户输入的用户名密码。 2. 使用JDBC(Java Database Connectivity)连接数据库。通过数据库连接驱动程序,与数据库建立连接,确保数据库可用。 3. 在与数据库建立连接后,使用SQL语句查询数据库,判断输入的用户名是否存在。可以通过使用SELECT语句,在用户表中搜索匹配的用户名记录。 4. 执行查询操作后,可以通过获取查询结果集来判断是否存在匹配的记录。如果结果集为空,则表明输入的用户名数据库中不存在,可以继续执行注册功能;如果结果集不为空,则输入的用户名已经存在,需要提示用户重新输入一个未被占用的用户名。 5. 如果用户名数据库中不存在,可以继续执行注册功能。这包括将用户名密码作为参数,使用INSERT语句插入数据库中的用户表中,创建新的用户记录。 6. 注册功能完成后,可以根据需要进行其他操作,比如返回注册成功消息给前端页面,跳转到登录页面等。 以上是一种基本的Javaweb注册功能实现思路。实际应用中,还需要考虑用户输入的合法性验证、密码加密存储等安全性问题,以确保注册功能的可靠性和安全性。 ### 回答3: Javaweb根据用户名密码完成注册功能,可以通过以下步骤判断输入的用户名数据库中是否存在,如果不存在则继续执行注册功能。 1. 首先,建立数据库连接。使用JDBC或者其他数据库操作框架,连接到数据库。 2. 接下来,使用SQL语句查询数据库,判断用户名是否存在。可以通过使用SELECT语句,根据用户名数据库中进行查询。如果查询结果为空,即用户名不存在,则可以继续执行注册功能。 3. 如果查询结果不为空,即用户名已存在,可以给用户一个提示,告知该用户名已被注册,请用户重新输入其他用户名或者进行登录。 4. 注册功能可以包括用户输入注册信息,例如用户名密码、电子邮箱等。可以通过INSERT语句将这些注册信息插入数据库中,创建新的用户。 5. 注册成功后,可以给用户一个提示,告知注册成功,并跳转到登录页面或者其他需要的页面。 需要注意的是,为了保证注册功能的安全性和可靠性,可以对密码进行加密存储,例如使用哈希算法对密码进行加密。另外,在判断用户名是否存在时,可以对查询结果进行处理,确保查询结果的正确性。同时,可以对注册功能进行输入验证,确保用户输入的信息符合要求,例如密码长度、用户名格式等。这样可以提高系统的安全性和稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值