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测试一下程序结果。