记录第一个Servlet-登录

  1. 用户登录为例,先建一个用户表,字段分别为user_id,user_name,password
  2. DAO类查询方法如下
 1     public static boolean getUserByName(String userName, String password) throws ClassNotFoundException, SQLException {
 2         // TODO Auto-generated method stub
 3         User user = new User(); //实例化对象
 4         Connection con = getConnection();//创建数据库连接
 5         Statement st = con.createStatement();// 创建Statament对象
 6         String s = "select user_name,password from tbl_user where user_name=? and password=?";
 7         PreparedStatement pst = con.prepareStatement(s);//调用对象con方法赋值给引用
 8         pst.setString(1, userName);//将入参userName赋值给第一个参数
 9         pst.setString(2, password);//将入参password赋值给第二个参数
10         ResultSet rst = pst.executeQuery();//执行sql语句
11         // 处理数据库的返回结果(使用ResultSet类)
12         while (rst.next()) {
13             System.out.println(rst.getString("user_name") + " " + rst.getString("password"));
14             return true;
15         }//当处理结果集非空即while条件为true时,输出用户名和密码,并返回true
16         rst.close();//关闭结果集
17         pst.close();//关闭pst
18         con.close();//关闭数据库连接
19         return false;//当处理结果集为空即while条件为false时,输出用户名和密码,并返回false
20     }

实例类User.java:

 1 public class User {
 2     private String userId;
 3     private String userName;
 4     private String password;
 5 
 6     public String getUserId() {
 7         return userId;
 8     }
 9 
10     public void setUserId(String userId) {
11         this.userId = userId;
12     }
13 
14     public String getUserName() {
15         return userName;
16     }
17 
18     public void setUserName(String userName) {
19         this.userName = userName;
20     }
21 
22     public String getPassword() {
23         return password;
24     }
25 
26     public void setPassword(String password) {
27         this.password = password;
28     }
29 
30 }
  • Servlet-登录
     1 protected void doPost(HttpServletRequest request, HttpServletResponse response)
     2             throws ServletException, IOException {
     3         // TODO Auto-generated method stub
     4         request.setCharacterEncoding("utf-8"); //将请求内容设置为utf-8编码
     5         response.setContentType("text/html;charset=utf-8"); //将返回内容设置为utf-8
     6         String name = request.getParameter("username");//获取请求中的参数username
     7         String password = request.getParameter("password");//获取请求中的参数password
     8         DbUtil dt=new DbUtil();//实例化对象
     9         boolean b=false;//初始化变量
    10         try {
    11             b = dt.getUserByName(name, password);//调用对象的getUserByName方法
    12         } catch (ClassNotFoundException | SQLException e) {
    13             // TODO Auto-generated catch block
    14             e.printStackTrace();
    15         }
    16         if(b){
    17             response.getWriter().write("登录成功");}
    18         else{
    19             response.getWriter().write("登录失败");
    20         }
    21             
    22             
    23             
    24         }

   

猜你喜欢

转载自www.cnblogs.com/silencem/p/9657771.html
今日推荐