- 用户登录为例,先建一个用户表,字段分别为user_id,user_name,password
- 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 }