源程序
此應用涉及開發(fā)環(huán)境的搭建,表單的提交、接收,數(shù)據(jù)庫的讀取,jsp的應用,以及javaScript對用戶輸入的驗證,頁
面的跳轉(zhuǎn)。如有問題請與我探討。——linan:
一? 開發(fā)環(huán)境的搭建
1 軟件安裝
1.1 安裝數(shù)據(jù)庫管理系統(tǒng)SQL Server2000
1.2? 安裝JDK1.4(例:安裝在C:\jdk1.4)
JDK可到http://www.sun.com/download/index.jsp?cat=Application%20Development&tab=3&subcat=SDKs%20(Software%20Development%20Kits) 下載
1.3? 安裝JSP服務器Tomcat5.0(例:安裝在C:\tomcat5.0)
Tomcat可到http://jakarta.apache.org/site/downloads/downloads_tomcat-5.html下載?
(如果下載的是壓縮包則解壓后就可用不用安裝,接著以下設置環(huán)境變量)
1.4 安裝好要設置環(huán)境變量
步驟:右擊我的電腦->屬性->高級->環(huán)境變量。(如果已有變量名則編輯,如果還沒有則新建)
catalina_home=Tomcat安裝路徑 (例: catalina_home=C:\tomcat5.0)
catalina_base = Tomcat安裝路徑 (例: catalina_base=C:\tomcat5.0)
classpath= .;JDK安裝路徑\lib;%classpath%? (例: classpath=.;C:\jdk1.4\lib;)
java_home= JDK安裝路徑 (例: java_home=c:\jdk1.4)
1.5 測試服務器安裝是否成功
啟動服務器(雙擊c:\tomcat5.0\bin\startup.bat文件),啟動瀏覽器在地址欄中輸入(http://localhost:8080/)
二 建立用戶登陸認證應用(可用記事本來編輯,擴展名保存為.jsp或.htm即可)
在c:\tomcat5.0\webapps下建立如下的目錄結構:
新建文件夾login? 在login文件夾下建立文件夾WEB-INF和文件login.htm、logincheck.jsp、ok.htm再在WEB-INF建立文夾lib
并將我所提供的lib下的文件(msbase.jar,msutil.jar,mssqlserver.jar)文件拷到新建的lib文件夾下。下面各文件的內(nèi)容分別為:
1? longin.htm
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>login.html</title>
<script language="javascript" src="../share/com.js"></script>
<script language="javaScript" >
<!--
?function checkstr()
?{?
??if(form.username.value=="")
??? {alert("用戶名不能為空!"); ???
???? return false;
??? }
????? if(form.password.value=="")
??? {alert("密碼不能為空!"); ????
??? return false;}
???else {
????? 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="username" type="text" maxlength="13" value="linan"></td>
????????? </tr>
????????? <tr>
??????????? <td align="center"> </td>
??????????? <td align="center">密 碼:</td>
??????????? <td align="left">
????????????? <input name="password" type="password" maxlength="15" value="linan"></td>
????????? </tr>
????????? <tr align="center" valign="bottom">
??????????? <td height="32" colspan="3"><input name="login" type="button" value="登陸" onClick="checkstr()">
????????????? <input name="button" type="button"? onClick="reg()"? value="注冊"></td>
????????? </tr>
??????? </table>
??? </form></td>
? </tr>
</table>
</body>
</html>
2?? logincheck.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "<html>
<head>
<title>logincheck.jsp</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
?<%@ page import="java.sql.*"%>
<body>
<%??
?String username=(String)request.getParameter("username");
?String password=(String)request.getParameter("password");
?
?try{
?
?Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
??? Connection con=DriverManager.getConnection("jdbc:odbc:login","","");
??
?String sqls="select * from usertest where username='"+username+"' and password='"+password+"'";
?Statement stmt=con.createStatement();
??? ResultSet rs=stmt.executeQuery(sqls);
???? int k=0;
???? if(rs.next()){
????k=k+1;
???}? ?
??
???? if(k>0)??
?????response.sendRedirect("ok.htm");?
???else
?????response.sendRedirect("login.html");????
?????
?con.close();
?????
?}catch(Exception e){
?out.println(e.toString());
?}
? %>
</body>
</html>
3?? ok.htm
<%@ page contentType="text/html; charset=gb2312" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>ok</title>
</head>
<body>
<p>成功登陸!</p>
</body>
</html>
三 建立數(shù)據(jù)庫
1 建立數(shù)據(jù)庫login建立表usertest
create database test
CREATE TABLE usertest (
[userid] [int] IDENTITY (1, 1) NOT NULL ,
[username] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[password] [char] (10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
insert into usertest values('linan','linan');
2.配置ODBC數(shù)據(jù)源(用JDBC-ODBC訪問數(shù)據(jù)庫容易成功開發(fā)時可用)
?? 開始->設置->控制面版->管理工具->ODBC數(shù)據(jù)源->添加->SQL Server->(名稱:login(不能是其它的否則接不上數(shù)據(jù)庫) 服務器:(127.0.0.1))->下一步->(使用windowsNT認證)->下一步->(更改默認的數(shù)據(jù)庫為test))->下一步->完成
四 一切搞定下面測試
啟動服務器(雙擊c:\tomcat5.0\bin\startup.bat文件),啟動瀏覽器在地址欄中輸入(http://localhost:8080/login\login.jsp(如果用戶名與數(shù)據(jù)庫中的相同則登陸成功,默認為user=name“l(fā)inan”,password=”linan”)