zoukankan      html  css  js  c++  java
  • Servlet用户登录功能实现

    需求:完成用户登录页面校验

    第一步:创建一个用户登录的html页面

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
        <form action="/WEB13/login" method="post">
            用户名:<input type="text" name="username" /><br/>
            密码:<input type="password" name="password" /><br/>
            <input type="submit" value="登录"/><br/>
        </form>
    </body>
    </html>

    第二步:导入所需要的jar包

    导入jar之后记得add to bulid path.

    第三步:创建c3p0连接池的配置文件,文件名为c3p0-config.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <c3p0-config>
    
        <default-config>
            <property name="driverClass">com.mysql.jdbc.Driver</property>
            <property name="jdbcUrl">jdbc:mysql:///web13</property>
            <property name="user">root</property>
            <property name="password">root</property>
            <property name="initialPoolSize">5</property>
            <property name="maxPoolSize">20</property>
        </default-config>
    
        <named-config name="myconfig">
            <property name="driverClass">com.mysql.jdbc.Driver</property>
            <property name="jdbcUrl">jdbc:mysql:///web13</property>
            <property name="user">root</property>
            <property name="password">root</property>
        </named-config>
    
    
    </c3p0-config>

    文件放到src目录下

    第四步:创建c3p0工具类

    package p1.utils;
    
    import java.sql.Connection;
    import java.sql.SQLException;
    
    import javax.sql.DataSource;
    
    import com.mchange.v2.c3p0.ComboPooledDataSource;
    
    public class C3P0Utils {
        private static ComboPooledDataSource dataSource = new ComboPooledDataSource();
    
        public static DataSource getDataSource() {
            return dataSource;
        }
    
        public static Connection getConnection() {
            try {
                return dataSource.getConnection();
            } catch (SQLException e) {
                throw new RuntimeException(e);
            }
        }
    }

    第五步:创建User类

    package p3.domain;
    
    public class User {
        private int uid;
        private String username;
        private String upassword;
        private String email;
        public User(){}
        public int getUid() {
            return uid;
        }
        public void setUid(int uid) {
            this.uid = uid;
        }
        public String getUsername() {
            return username;
        }
        public void setUsername(String username) {
            this.username = username;
        }
        public String getUpassword() {
            return upassword;
        }
        public void setUpassword(String upassword) {
            this.upassword = upassword;
        }
        public String getEmail() {
            return email;
        }
        public void setEmail(String email) {
            this.email = email;
        }
        @Override
        public String toString() {
            return "User [uid=" + uid + ", username=" + username + ", upassword=" + upassword + ", email=" + email + "]";
        }
        
    }

    第六步:编写LoginServlet类

    package p2.login_servlet;
    
    import java.io.IOException;
    import java.sql.SQLException;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.apache.commons.dbutils.QueryRunner;
    import org.apache.commons.dbutils.handlers.BeanHandler;
    
    import p1.utils.C3P0Utils;
    import p3.domain.User;
    
    public class LoginServlet extends HttpServlet {
    
        public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            //1 获取用户名和密码
            String username = request.getParameter("username");
            String password = request.getParameter("password");
            // 2查询数据库中是否有相应的用户名和密码
            QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());
            String sql = "select * from user where username=? and upassword=?";
            Object[] params = {username,password};
            User user = null;
            try {
                user = qr.query(sql, new BeanHandler<User>(User.class), params);
            } catch (SQLException e) {
                
                e.printStackTrace();
            }
            // 3 根据返回结果给用户不同的显示信息
            if(user!=null){
                response.getWriter().write(user.toString());
                response.getWriter().write(user.getUsername()+":登录成功");
            }else{
                response.getWriter().write("sorry the username or password is wrong");
            }
        }
        public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            doGet(request, response);
        }
    
    }

    第七部:发布的时候如果出现找不到网页404的情况,有时候重新启动tomcat就可以了。

  • 相关阅读:
    P1342 请柬
    P1186 玛丽卡
    Scala 中下划线的用法
    IDEA2017 maven Spark HelloWorld项目(本地断点调试)
    Spark内存管理详解
    Spark基础知识
    scala基本语法
    分布式锁的一点理解
    Redis并发问题
    redis集群原理
  • 原文地址:https://www.cnblogs.com/jepson6669/p/8304166.html
Copyright © 2011-2022 走看看