login.jsp是登录框所在的页面,其内容为:
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<html>
<head>
<title>用户注册页面</title>
</head>
<body background="images/bg2.jpg" topMargin=80px>
<table align=center>
<tr><td align=center >
<!--用户填写登录信息的表单,将提交到 loginCheck.jsp 对信息进行验证-->
<FORM name="formLogin" method="POST" action="loginCheck.jsp">
用户名:<INPUT type="text" name="userName" size="20" maxlength="20" />
<br>
密 码:<INPUT type="password" name="password" size="20" maxlength="20" />
<p>
<INPUT type="Submit" name="" value="登录"/>
<!--未注册用户自行进行注册,转向 register.jsp 进行注册-->
<INPUT type="Reset" name="" value="重置" onClick="focusTo()" />
<INPUT type="button" name="" value="注册" onClick="redirectTo()"/>
</FORM>
</td></tr>
</table>
<hr><p>
<% //用户密码和用户名错误提示
String ID = (String)request.getParameter( "id" );
String flag1 = "haveVisited"; //用户尝试登录,但验证失败,返回该值
String flag2 = "noLogin"; //用户未登录,返回该值
if( flag1.equals(ID) )
{
out.println( "<div align=center><font color=red> <h2>对不起,用户名和密码错误!<h2> </font></div>" );
}
else if( flag2.equals(ID) )
{
out.println( "<div align=center><font color=blue> <h2>请先登录本系统,谢谢!</h2> </font></div>" );
}
%>
</body>
</html>
<script language="javaScript">
function focusTo(){ formLogin.userName.focus(); }
function redirectTo() { location.href="register.jsp"; }
</script>
验证的页面,loginCheck.jsp其内容为:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<!--连接SQL Server 2000数据库: xtrc (乡土人才)-->
<%@ include file="DBConnection.jsp"%> <!--静态引入 *.jsp 文件-->
<html>
<head><title>用户登陆信息检测</title></head>
<body #669fbf>
<% //获取客户端输入的 "用户名" 和 "密码"
String user = request.getParameter( "userName" );
String password = request.getParameter( "password" );
//解决 "用户名" 和 "密码" 中文乱码问题
byte [] tempByte = user.getBytes( "ISO8859_1" );
user = new String( tempByte ); //用户名
tempByte = password.getBytes( "ISO8859_1" );
password = new String( tempByte ); //密码
%>
<% //验证用户登录信息
String sql="select ID from operatorLogin where ";
sql = sql + " 用户名='" + user + "' and " + " 口令='" + password +"'";
ResultSet rs=stmt.executeQuery(sql);
if( rs.next() ) //如果验证通过,则定向到 index.jsp , 否则定向到 login.jsp
{
response.sendRedirect( "common/right.jsp" );
session.setAttribute( "sessionUserID", user );
}
else
{
response.sendRedirect( "login.jsp?id=haveVisited" );
}
%>
</body>
</html>
其中调用数据库的那一部分内容放在了一个单独的.jsp文件中,它是:DBconnection.jsp,它的内容为:
<!--
模块: 用msODBC与msSQL数据库建立连接
说明:
最后修改时间: 2007-4-14
-->
<%@ page import="java.sql.*" %>
<%
//连接SQL Server 2000数据库: xtrc (乡土人才)
Connection conn = null;
Statement stmt = null;
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String DBUrl="jdbc:microsoft:sqlserver://lg:1433;DatabaseName=xtrc"; //服务器名称,端口号,数据库名称
String DBUser="zr"; //数据库登录用户名
String DBPassword="zr"; //数据库登录密码
conn = DriverManager.getConnection(DBUrl, DBUser, DBPassword);
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
}catch( SQLException e )
{
;//out.print( "<table><tr><td>连接数据库出错!</td></tr></table>" );
}
%>
这一部分内容由同学李刚整理提供,对其表示敬佩!