学习过了jsp基础语法以及HTML和javascript的用法之后,jsp+jdbc连接数据库开发动态WEB网页就可以实现了。

   对于学过java SE的同学来说,数据库的操作并不陌生,如果有忘记的或者不会的可以到http://zhaoyuqiang.blog.51cto.com/6328846/1127658  学习。

   jsp中的数据库连接又是如何呢? 怎样才能利用上我们学过的HTML和javascript的知识呢? 这就是我们这一篇文章的学习内容----jsp+jdbc访问数据库。

  我们就以一个实例来说明jsp+jdbc访问数据库 ---用户登录实例。 就像登录邮箱一样,用户输入账号和密码,如果正确的话就跳转到主页上,如果错误的话就提示或者跳转到错误页上。如下图所示:

首先先建立数据库,在MySQL中建立数据库test,建立表 users.如下图所示

数据库建完后在MyEclipse中建立项目,将MySQL的驱动包导进lib中

建立第一个jsp页面----登陆页面  login.jsp

 
  
  1. <%@ page language="java" contentType="text/html" pageEncoding="utf-8"%> 
  2.  <html> 
  3.    <head> 
  4.      <title>登录页面</title> 
  5.  <script type="text/javascript">  // 验证 如果用户名和密码为空的话会出现提示框
  6.         function chkData() 
  7.         { 
  8.             if(frmLogin.username.value=="") 
  9.             { 
  10.                 alert("请输入用户名。"); 
  11.                 return false; 
  12.             } 
  13.             else if(frmLogin.userpassword.value=="") 
  14.             { 
  15.                 alert("请输入密码。"); 
  16.                 return false; 
  17.             } 
  18.             else 
  19.             { 
  20.                 return true; 
  21.             } 
  22.         } 
  23.          
  24.     </script> 
  25.    </head>  
  26.    <body> 
  27.      <center><h4>用户登录</h4></center> 
  28.     <form name="frmLogin" action="doLogin.jsp" method="post"> 
  29.         <table align="center" border="1"> 
  30.             <tr> 
  31.                 <td>用户名:</td> 
  32.                 <td><input type="text" name="username"/></td> 
  33.             </tr> 
  34.             <tr> 
  35.                 <td>密&nbsp;&nbsp;码:</td> 
  36.                 <td><input type="password" name="userpassword"/></td> 
  37.             </tr> 
  38.             <tr> 
  39.                 <td colspan="2" align="center"> 
  40.                     <input type="submit" value="登录" onClick="return chkData();"/> 
  41.                     <input type="reset" value="重置"/> 
  42.                 </td> 
  43.             </tr> 
  44.         </table> 
  45.      </form> 
  46.    </body> 
  47.  </html> 
  48.   

建立第二个页面   检查页面   chklogin.jsp

 
  
  1. <%@ page language="java" import="java.util.*" 
  2.   pageEncoding="utf-8"%> 
  3.  <%@page import="java.sql.*"%> 
  4.  <
  5.     //接收客户端传来的数据 
  6.     request.setCharacterEncoding("utf-8"); 
  7.     String username = request.getParameter("username"); 
  8.     String userpassword = request.getParameter("userpassword");  
  9.     //进行数据库查询 
  10.     final String CLS="com.mysql.jdbc.Driver"
  11.     final String URL="jdbc:mysql://localhost:3306/test"
  12.     final String USER="root"
  13.     final String PWD="425680992"
  14.      
  15.     Connection conn = null
  16.     PreparedStatement pStmt = null
  17.     ResultSet rs = null
  18.      
  19.     try{ 
  20.         Class.forName(CLS); 
  21.         conn = DriverManager.getConnection(URL, USER, PWD); 
  22.         String sql = "select * from user where " + 
  23.             " username=? and userpassword=?"; 
  24.         pStmt = conn.prepareStatement(sql); 
  25.         pStmt.setString(1, username); 
  26.         pStmt.setString(2, userpassword);        
  27.         rspStmt.executeQuery();        
  28.         if(rs.next()){  //登录成功       
  29.             //转向 
  30.             response.sendRedirect("index.jsp"); 
  31.         }else{ 
  32.             response.sendRedirect("login.jsp"); 
  33.         } 
  34.     }catch(Exception ex){ 
  35.         ex.printStackTrace(); 
  36.     } 
  37.     conn.close(); 
  38.  %> 

建立第三个页面  成功页(主页)  index.jsp

 
  
  1. <%@ page contentType="text/html" pageEncoding="utf-8"%> 
  2.  <html> 
  3.  <head> 
  4.  <title>主页</title> 
  5.  </head> 
  6.  <body> 
  7.  <center> 
  8.  <h1>登录操作</h1> 
  9.  <h2>登录成功</h2> 
  10.  <h2>欢迎<font color="red"><%=request.getParameter("uname")%></font>光临!!</h2> 
  11.  </center> 
  12.  </body> 
  13.  </html> 

建立第四个页面   失败页  fail.jsp

 
  
  1. <%@ page contentType="text/html" pageEncoding="GB2312"%> 
  2.  <html> 
  3.  <head> 
  4.  <title>失败页</title> 
  5.  </head> 
  6.  <body> 
  7.  <center> 
  8.  <h1>登录操作</h1> 
  9.  <h2>登录失败,请重新<a href="login.jsp">登录!</a></h2> 
  10.  </center> 
  11.  </body> 
  12.  </html> 

运行结果就不再演示了。

 


注意事项:

1. 对于数据库的操作代码都要放在<%%>里面。

2. 数据库的代码写法并不是一成不变的,但是其基本思想是一样的。

3.注意编码的操作。