JSP+JDBC+SQLSERVER2000用户登录验证实例

    技术2022-05-13  2

    1、开发准备

    下载Microsoft SQL Server 2000 Driver for JDBC 的jar包,在环境变量中加入path即可,同时下载的三个jar包放到工程的lib下

    这里用sql2000自带的Northwind数据库中Customers表为示例,本例子把CustomerID 作为用户名,把CompanyName作为密码来验证。

    2、开发说明

    本例子使用用了三个jsp页面来实现用户登录的功能

    login.jsp 用户输入界面

    logincheck.jsp  具体验证逻辑页面

    ok.jsp 登录成功结果页面

    3、login.jsp

     该页面主要是通过表单把输入框的值提交到tomcat后台,然后后台把值传给logincheck.jsp来验证数据库中是否存在这样的记录

    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>login.html</title> <script language="javaScript" >

    //首先判断输入的是否是空值,不是则提交 function checkstr() {  if(document.getElementById("CustomerID").value==""){   alert("用户名不能为空!");           return false;    }     if(document.getElementById("CompanyName").value==""){      alert("密码不能为空!");           return false;    }       form.submit(); }  </script> </head> <body> <table width="1000" border="0" cellspacing="0" cellpadding="0"> <tr>     <td ><form name="form" method="post" action="logincheck.jsp">         <table width="563" height="100" border="0" bordercolor="#FF9900">           <tr>             <td width="148" align="center"> </td>             <td width="121" height="35" align="center">  用户名:</td>             <td width="280" align="left" >               <input name="CustomerID" type="text" maxlength="13" ></td>           </tr>           <tr>             <td align="center"> </td>             <td align="center">密  码:</td>             <td align="left">               <input name="CompanyName" type="password" size="60" maxlength="60" ></td>           </tr>           <tr align="center" valign="bottom">             <td height="32" colspan="3"><input name="login" type="button" value="登陆" onClick="checkstr()">              </td>           </tr>         </table>     </form></td> </tr> </table> </body> </html>

    4.logincheck.jsp

    本页面负责处理后台传来的值,做验证

    <%@ page contentType="text/html; charset=gb2312" language="java" %> <html> <head> <title>logincheck.jsp</title> </head> <%@ page import="java.sql.*"%>

    <body> <%  

    //获取表单中变量的值

    String CustomerID=(String)request.getParameter("CustomerID"); String CompanyName=(String)request.getParameter("CompanyName");

    //可以打印一下看看后台是否传过来了

    System.out.println("CustomerID:"+CustomerID); System.out.println("CompanyName:"+CompanyName); try{

     //首先定义连接数据的用户名和密码    String dbname="sa";    String dbpass="sa";    //定义jdbc的连接驱动    String url="jdbc:microsoft:sqlserver://127.0.0.1;DatabaseName=Northwind";    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();     Connection conn = DriverManager.getConnection(url, dbname, dbpass);     //定义查询语句       String sqls="select * from Customers where CustomerID='"+CustomerID+"' and CompanyName='"+CompanyName+"'";           //执行查询语句      Statement stmt = conn.createStatement();              ResultSet rs = stmt.executeQuery(sqls);      if(null == rs){

    //测试查询为空       System.out.println("null!!!!!!!!!!!!!!!");      }

    //k为查询到的记录数           int k=0;      if(rs.next()){       k=k+1;      }   //如果查询记录数大于0则跳转到ok.jsp,否则重新回到输入页面      if(k>0)  {       response.sendRedirect("ok.jsp");       }     else{       response.sendRedirect("login.jsp");          }           conn.close();     }catch(Exception e){ out.println(e.toString()); } %> </body> </html>

    5.ok.jsp

    测试验证是否成功

    <%@ page contentType="text/html; charset=gb2312" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>ok</title> </head> <body> <p>成功登陆!</p> </body> </html>

    6.启动tomcat测试一下程序结果。


    最新回复(0)