转载

JSP数据库配置:程序和页面的设置及测试效果

以下继续介绍JSP数据库配置的步骤。

JSP数据库配置步骤三

在项目下新建包beans,在此包下编写一个JavaBean程序,命名为Test_2_4.java,代码为:

  1. package 
  2. import java.io.UnsupportedEncodingException;  
  3. import java.sql.*;  
  4. import java.util.ResourceBundle;  
  5. public class Test_2_4 {  
  6.     private String username;  
  7.     private String password;  
  8.     private Connection conn = null;  
  9.     private PreparedStatement ps = null;  
  10.     private ResultSet rs = null;  
  11.     public String getUsername() {  
  12.         return username;  
  13.     }  
  14.     public void setUsername(String username)  
  15.             throws UnsupportedEncodingException {  
  16.         String temp = new String(username.getBytes("iso8859-1"), "utf-8");  
  17.         this.username = temp;  
  18.     }  
  19.     public String getPassword() {  
  20.         return password;  
  21.     }  
  22.     public void setPassword(String password) {  
  23.         this.password = password;  
  24.     }  
  25.     private void closeConn() {  
  26.         /**  
  27.         * 关闭数据连接的方法  
  28.         * */ 
  29.         try {  
  30.             ps.close();  
  31.         } catch (SQLException e) {  
  32.             e.printStackTrace();  
  33.         }  
  34.         ps = null;  
  35.         try {  
  36.             rs.close();  
  37.         } catch (SQLException e) {  
  38.             e.printStackTrace();  
  39.         }  
  40.         rs = null;  
  41.         if (conn != null)  
  42.             try {  
  43.                 conn.close();  
  44.             } catch (SQLException e) {  
  45.                 e.printStackTrace();  
  46.             }  
  47.         conn = null;  
  48.     }  
  49.        public int query() {  
  50.         int tag = 0;  
  51.         if (username == null || password == null) {  
  52.             return 0;  
  53.         }  
  54.         ResourceBundle rb = ResourceBundle.getBundle("init");  
  55.         String dbDirver = rb.getString("connJDBC.dbDriver");  
  56.         String dbUrl = rb.getString("connJDBC.dbURL");  
  57.         String dbUsername = rb.getString("connJDBC.dbUsername");  
  58.         String dbPwd = rb.getString("connJDBC.dbPassword");  
  59.         try {  
  60.             Class.forName(dbDirver);  
  61.             conn = DriverManager.getConnection(dbUrl, dbUsername, dbPwd);  
  62.             String sql = "select * from users where username=? and password=?";  
  63.             ps = conn.prepareStatement(sql);  
  64.             ps.setString(1, username);  
  65.             ps.setString(2, password);  
  66.             rs = ps.executeQuery();  
  67.             if (rs.next()) {  
  68.                 return 1;  
  69.             } else {  
  70.                 return -1;  
  71.             }  
  72.         } catch (SQLException e) {  
  73.             e.printStackTrace();  
  74.         } catch (ClassNotFoundException e) {  
  75.             e.printStackTrace();  
  76.         }  
  77.         /**  
  78.         * 调用关闭数据连接的方法,关闭数据库连接  
  79.         * */ 
  80.         closeConn();  
  81.         return tag;  
  82.     }  

JSP数据库配置步骤四

新建jsp文件,命名为test_2_4.jsp,代码如下:

  1. < %@ page language="java" contentType="text/html; charset=UTF-8" 
  2.     pageEncoding="UTF-8"%> 
  3. < jsp:useBean id="login" class="beans.Test_2_4" scope="session" /> 
  4. < jsp:setProperty name="login" property="*" /> 
  5. < !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
  6. < html> 
  7. < head> 
  8. < meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
  9. < title>实验二利用JavaBean实现用户登录< /title> 
  10. < /head> 
  11. < body> 
  12. < form action="test_2_3.jsp" method="post"> 
  13. < div align="center">用户名< input type="text" name="username" 
  14.     size="16">< /div> 
  15. < div align="center">密&nbsp;&nbsp;&nbsp;&nbsp;码< input 
  16.     type="password" name="password" size="16">< /div> 
  17. < div align="center">< input type="submit" value="登录">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;< input 
  18.     type="reset" value="重置">< /div> 
  19. < /form> 
  20. < %  
  21.     request.setCharacterEncoding("utf-8");  
  22.     int isLogin = login.query();  
  23.     if (isLogin == 1) {  
  24.         String username = request.getParameter("username");  
  25.         session.putValue("username", username);  
  26.         response.sendRedirect("welcome.jsp");  
  27.     } else if (isLogin == -1) {  
  28.         out.println("< script language=javascript>alert('登录失败!您没有权限访问!');< /script");  
  29.     }  
  30. %> 
  31. < /body> 
  32. < /html> 

JSP数据库配置步骤五

创建以欢迎登录成功的页面welcome.jsp,代码如下:

  1. < %@ page language="java" contentType="text/html; charset=UTF-8" 
  2.      pageEncoding="UTF-8"%> 
  3. < !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
  4. < html> 
  5. < head> 
  6. < meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
  7. < title>登录成功< /title> 
  8. < /head> 
  9. < body> 
  10. < %  
  11.      request.setCharacterEncoding("utf-8");  
  12.      if (session.getValue("username") == ""  
  13.               || session.getValue("username") == null) {  
  14.          response.sendRedirect("test_2_4.jsp");  
  15.      } else {  
  16.          String username = session.getValue("username").toString();  
  17.          String user = new String(username.getBytes("iso8859-1"),  
  18.                    "utf-8");  
  19. %> 
  20. < %=user%>,欢迎您访问!  
  21. < %  
  22.      }  
  23. %> 
  24. < /body> 
  25. < /html> 

JSP数据库配置步骤六

测试效果,如下:

①未进行登录操作:

JSP数据库配置:程序和页面的设置及测试效果 

②登录成功

JSP数据库配置:程序和页面的设置及测试效果 

JSP数据库配置:程序和页面的设置及测试效果 

③登录失败

JSP数据库配置:程序和页面的设置及测试效果 

正文到此结束
Loading...