版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 學(xué)院</b></p><p><b> JSP大作業(yè)報告</b></p><p> 題 目 QQ登陸系統(tǒng) </p><p> 學(xué)生姓名 專業(yè)班級 計算機10-1 </p>
2、<p> 指導(dǎo)教師 職稱 講師 </p><p> 所在單位 </p><p> 教研室主任 </p><p> 完成日期 2013年5月22日</p><p><b> 摘 要<
3、/b></p><p> QQ是騰訊公司開發(fā)的一款基于Internet的即時通信軟件。騰訊QQ作為當下中國最流行的聊天工具之一,必有他成功的理由。所以我希望基于JSP能模仿QQ的登陸系統(tǒng),一方面向騰訊QQ學(xué)習(xí)他的登陸界面,以便日后可以把它成功的運用到網(wǎng)頁游戲或者是網(wǎng)站的一些會員登錄中,另一方面也可以幫我鞏固在JSP課上學(xué)習(xí)到的知識。</p><p> 用JSP編輯的網(wǎng)站中,一般要
4、求用戶提供登陸該網(wǎng)站的用戶名稱和密碼等信息,在注冊頁面中用SQL語句在數(shù)據(jù)庫中查詢該用戶名和密碼是否存在于數(shù)據(jù)庫中。該系統(tǒng)用到的關(guān)鍵技術(shù),使用JSP編程、建立數(shù)據(jù)庫、采用HTML超文本鏈接等編程技術(shù)。</p><p> 關(guān)鍵字:QQ登錄系統(tǒng);JSP編程;數(shù)據(jù)庫;學(xué)習(xí)</p><p><b> 目 錄</b></p><p><b&g
5、t; 1.總體設(shè)計1</b></p><p> 1.1本系統(tǒng)的主要功能1</p><p> 1.2系統(tǒng)包含的類及類之間的關(guān)系1</p><p> 1.3java源文件及其功能1</p><p><b> 2.詳細設(shè)計1</b></p><p> 2.1類AddBe
6、an1</p><p> 2.2類QueryBean2</p><p> 2.3類Query2</p><p> 2.4類ReadFiles3</p><p> 2.5類RandomArr3</p><p><b> 3. 運行效果4</b></p><p
7、> 3.1 系統(tǒng)登陸界面4</p><p> 3.2 更改密碼界面5</p><p> 3.2 個人主界面5</p><p> 3.2 注冊信息界面5</p><p><b> 參考文獻6</b></p><p> 附錄1 軟件源程序7</p><
8、;p> 課程設(shè)計實踐總結(jié):16</p><p><b> 1.總體設(shè)計</b></p><p> 1.1本系統(tǒng)的主要功能 </p><p> 本系統(tǒng)為QQ登陸系統(tǒng)仿照QQ的登陸界面完成學(xué)習(xí)目的,功能包括了帳號、密碼的注冊、清空及登錄,而注冊界面包含了帳號、密碼、姓名、年齡等信息,還加入了修改密碼的界面,簡單地說就是QQ登陸界面的
9、簡化版本。</p><p> 1.2系統(tǒng)包含的類及類之間的關(guān)系</p><p> 本系統(tǒng)共包括5個java源文件,7個jsp文件</p><p> 1.3java源文件及其功能</p><p> 1.AddBean.java</p><p> 該文件用于添加用戶編號、密碼、年齡、名字等信息</p>
10、<p> 2. QueryBean.java</p><p> 該文件為查詢用戶信息組件的文件,通過QueryBean擴展查詢功能</p><p> 3. Query.java</p><p> 該文件為查詢用戶信息文件</p><p> 4. ReadFiles.java</p><p>&l
11、t;b> 該文件為讀取文件</b></p><p> 5. RandomArr.java</p><p> 該文件隨機生成帳號的文件</p><p><b> 2.詳細設(shè)計</b></p><p> 2.1類AddBean</p><p> ?。?)成員變量見表2-1&
12、lt;/p><p> ?。?)方法見表2-2</p><p> ?。?)源代碼見文件AddBean.java</p><p> 2.2類QueryBean</p><p> (1)成員變量見表2-3</p><p> ?。?)方法見表2-4</p><p> ?。?)源代碼見文件QueryBea
13、n.java</p><p><b> 2.3類Query</b></p><p> ?。?)成員變量見表2-5</p><p> ?。?)方法見表2-6</p><p> ?。?)源代碼見文件Query.java</p><p> 2.4類ReadFiles</p><p
14、> ?。?)成員變量見表2-7</p><p> ?。?)方法見表2-8</p><p> ?。?)源代碼見文件ReadFiles.java</p><p> 2.5類RandomArr</p><p> ?。?)成員變量見表2-9</p><p> ?。?)方法見表2-10</p><p&
15、gt; ?。?)源代碼見文件RandomArr.java</p><p><b> 3. 運行效果</b></p><p> 3.1 系統(tǒng)登陸界面</p><p> 圖3-1 系統(tǒng)登陸界面</p><p> 3.2 更改密碼界面</p><p> 圖3-2 更改密碼界面</p>
16、;<p><b> 3.2 個人主界面</b></p><p> 圖3-2 個人主界面</p><p> 3.2 注冊信息界面</p><p> 圖3-2 注冊信息界面</p><p><b> 參考文獻</b></p><p> [1] 程志艷等《
17、JSP實用簡明教程》,清華大學(xué)出版社,2005.12</p><p> [2] 李曙光《JSP開發(fā)實例完全剖析》,中國電力出版社,2006.4</p><p> [3] 孫延鵬等《Web程序設(shè)計----JSP》,人民郵電出版社,2008.5</p><p> [4]張陽等《Java Web開發(fā)實踐教程----從設(shè)計到實現(xiàn)》,清華大學(xué)出版社,2008.9<
18、/p><p> [5] 劉彬編著,JSP數(shù)據(jù)庫高級教程,清華大學(xué)出版社,2006</p><p> 附錄1 軟件源程序</p><p> package tom.jiafei;</p><p> import java.sql.*;</p><p> public class AddBean</p>
19、<p><b> { </b></p><p> int age,pass,addMessage;</p><p> String name,number;</p><p> public AddBean()</p><p> { try{ Class.forName("com.
20、microsoft.sqlserver.jdbc.SQLServerDriver");</p><p><b> }</b></p><p> catch(Exception e){ } </p><p><b> }</b></p><p> public void setNam
21、e(String s)</p><p> { name=s.trim();</p><p> try{ byte bb[]=name.getBytes("ISO-8859-1");</p><p> name=new String(bb,"gb2312"); </p><p><b>
22、 }</b></p><p> catch(Exception e){}</p><p><b> }</b></p><p> public void setAge(int n)</p><p><b> { age=n;</b></p><p>&
23、lt;b> }</b></p><p> public void setPass(int n)</p><p> { pass=n;</p><p><b> }</b></p><p> public void setNumber(String s)</p><p>
24、; { number=s;</p><p><b> }</b></p><p> public int getAddMessage()throws Exception{</p><p> String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=factory&qu
25、ot;;</p><p> String user="sa";</p><p> String password="sa";</p><p> Connection con=DriverManager.getConnection(uri, user, password);//連接</p><p>
26、 Statement st=con.createStatement();//創(chuàng)建語句</p><p> String sql="insert into qq (number,pass,name,age)values('"+number+"',"+pass+",'"+name+"',"+age+&qu
27、ot;)"; </p><p> addMessage=st.executeUpdate(sql);</p><p> st.close();</p><p> con.close();</p><p> return addMessage;</p><p><b> }</b&
28、gt;</p><p><b> } </b></p><p> /*利用Random生成10個數(shù)且第一個數(shù)不為0*/</p><p> package tom.jiafei;</p><p> import java.io.*;</p><p> public class Rando
29、mArr </p><p><b> {</b></p><p> private StringBuilder sb=new StringBuilder();</p><p> String number;</p><p> public String getNumber()</p><p&
30、gt;<b> {</b></p><p> int [] arr = new int [10];</p><p><b> int i=0;</b></p><p> while(i<arr.length)</p><p><b> {</b></p&g
31、t;<p> arr[i]=(int)(Math.random()*10);</p><p> if(arr[0]==0)</p><p> continue; //控制第一個數(shù)不為0</p><p> else sb.append(arr[i]);</p><p><b> i++;<
32、/b></p><p> number=sb.toString();</p><p><b> }</b></p><p> return number;</p><p><b> }</b></p><p><b> }</b><
33、/p><p> package tom.jiafei;</p><p> import java.io.*;</p><p> public class ReadFiles</p><p><b> {</b></p><p> private String path,content;&
34、lt;/p><p> public void setPath(String path)</p><p><b> {</b></p><p> this.path=path;</p><p><b> } </b></p><p> public String ge
35、tContent()throws IOException</p><p><b> {</b></p><p> FileReader fr=new FileReader(path);</p><p> BufferedReader br=new BufferedReader(fr);</p><p> Stri
36、ngBuilder sb=new StringBuilder();</p><p> String str=null;</p><p> while((str=br.readLine())!=null)</p><p><b> {</b></p><p> sb.append(str+"<BR&
37、gt;");</p><p> content=sb.toString();</p><p><b> }</b></p><p> return content;</p><p><b> }</b></p><p><b> }</b
38、></p><p> package tom.jiafei;</p><p> import java.sql.*;</p><p> public class Query {</p><p> String number;</p><p> int pass,newpassword;</p&g
39、t;<p> public void setNumber(String s)</p><p><b> {</b></p><p><b> number=s;</b></p><p><b> }</b></p><p> public void s
40、etNewpassword(int s)</p><p><b> {</b></p><p> newpassword=s;</p><p><b> }</b></p><p> public int read() throws Exception</p><p>
41、;<b> {</b></p><p> Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");</p><p> String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=factory";<
42、;/p><p> String user="sa";</p><p> String password="sa";</p><p><b> //建立連接</b></p><p> Connection con=DriverManager.getConnection(uri,
43、user, password);</p><p><b> //創(chuàng)建語句</b></p><p> Statement st=con.createStatement();</p><p> ResultSet rs=st.executeQuery</p><p> ("SELECT number,pas
44、s,name,age FROM qq where number='"+number+"'");</p><p> while(rs.next())</p><p><b> {</b></p><p> pass=rs.getInt(2);</p><p><
45、;b> }</b></p><p> return pass;</p><p><b> }</b></p><p> public int update() throws Exception{</p><p> Class.forName("com.microsoft.sqlser
46、ver.jdbc.SQLServerDriver");</p><p> String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=factory";</p><p> String user="sa";</p><p> String password=
47、"sa";</p><p> Connection con=DriverManager.getConnection(uri, user, password);//連接</p><p> Statement st=con.createStatement();//創(chuàng)建語句</p><p> String sql="update qq
48、set pass='"+newpassword+"' where number='"+number+"'";</p><p> int i=st.executeUpdate(sql);</p><p> st.close();</p><p> con.close();</
49、p><p><b> return i;</b></p><p><b> }</b></p><p><b> }</b></p><p> package tom.jiafei;</p><p> import java.sql.*;</
50、p><p> public class QueryBean</p><p> { String databaseName=""; //數(shù)據(jù)庫名</p><p> String tableName=""; //表名</p><p> String user=&qu
51、ot;" ; //用戶</p><p> String secret="" ; //密碼 </p><p> StringBuffer queryResult; //查詢結(jié)果</p><p> public QueryBean()</p><p>
52、 { queryResult=new StringBuffer();</p><p> try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");</p><p><b> }</b></p><p> catch(Exception e)
53、 {} </p><p><b> }</b></p><p> public void setDatabaseName(String s)</p><p> { databaseName=s.trim();</p><p> queryResult=new StringBuffer(); </p>
54、;<p><b> }</b></p><p> public String getDatabaseName()</p><p> { return databaseName;</p><p><b> }</b></p><p> public void setTable
55、Name(String s)</p><p> { tableName=s.trim();</p><p> queryResult=new StringBuffer();</p><p><b> }</b></p><p> public String getTableName()</p>&
56、lt;p> { return tableName;</p><p><b> }</b></p><p> public void setSecret(String s)</p><p> { secret=s.trim();</p><p> queryResult=new StringBuffer
57、();</p><p><b> }</b></p><p> public String getSecret()</p><p> { return secret;</p><p><b> }</b></p><p> public void setUser(
58、String s)</p><p> { user=s.trim();</p><p> queryResult=new StringBuffer();</p><p><b> }</b></p><p> public String getUser()</p><p> { re
59、turn user;</p><p><b> } </b></p><p> public StringBuffer getQueryResult()</p><p> { Connection con;</p><p> Statement sql; </p><p> Resul
60、tSet rs;</p><p> try { queryResult.append("<table border=1>"); </p><p> String uri= "jdbc:sqlserver://127.0.0.1:1433;DatabaseName="+databaseName;</p><p>
61、 String id=user;</p><p> String password=secret;</p><p> con=DriverManager.getConnection(uri,id,password);</p><p> DatabaseMetaData metadata=con.getMetaData();</p><p&
62、gt; ResultSet rs1=metadata.getColumns(null,null,tableName,null);</p><p> int 字段個數(shù)=0;</p><p> queryResult.append("<tr>");</p><p> while(rs1.next())</p><
63、;p><b> { 字段個數(shù)++;</b></p><p> String clumnName=rs1.getString(4);</p><p> queryResult.append("<td>"+clumnName+"</td>");</p><p><b&
64、gt; }</b></p><p> queryResult.append("</tr>");</p><p> sql=con.createStatement();</p><p> rs=sql.executeQuery("SELECT * FROM "+tableName);</p&
65、gt;<p> while(rs.next())</p><p> { queryResult.append("<tr>");</p><p> for(int k=1;k<=字段個數(shù);k++) </p><p> { queryResult.append("<td>"+
66、rs.getString(k)+"</td>");</p><p><b> }</b></p><p> queryResult.append("</tr>");</p><p><b> }</b></p><p> que
67、ryResult.append("</table>");</p><p> con.close();</p><p><b> }</b></p><p> catch(SQLException e)</p><p> { queryResult.append("請輸入
68、正確的用戶名和密碼");</p><p><b> }</b></p><p> return queryResult;</p><p><b> } </b></p><p><b> } </b></p><p>
69、<%@ page contentType="text/html;charset=GB2312" %></p><p> <HTML><BODY bgcolor=cyan><FONT Size=2></p><p> <FORM action="result1.jsp" method=post
70、name=from ></p><p> <input type="text" name="num" size="18"> 帳號</p><p><b> <BR></b></p><p> <input type="passwor
71、d" name="password" size="18"> 密碼</p><p><b> <BR></b></p><p> <input type="submit" value="登錄" ></p><p> &
72、lt;input type="reset" value="重置"></p><p> <input type="button" value="注冊" onClick="window.location.href='register.jsp'"></p><p&g
73、t;<b> </FORM></b></p><p> </BODY></HTML></p><p> <%@ page contentType="text/html;charset=GB2312" %></p><p> <HTML><BODY BG
74、COLOR=cyan></p><p><b> <p>登錄成功</b></p><p> <img src=a.jpg width=120 height=120></p><p><b> </img></b></p><p> </BODY
75、><HTML> </p><p> <%@ page contentType="text/html;charset=GB2312" %></p><p> <HTML><BODY bgcolor=cyan><FONT Size=2></p><p> <FOR
76、M action="result2.jsp" method=post ></p><p><b> <table></b></p><p><b> <tr></b></p><p> <td>請輸入密碼:</td><td><
77、input type="password" name="pass" size=18 maxlength="30"> </td></p><p><b> </tr></b></p><p> <td>姓名:</td><td><i
78、nput type="text" name="name" size="18"> </td></p><p><b> </tr></b></p><p> <td>年齡:</td><td><input type="
79、text" name="age" size="18"></td></p><p><b> </tr></b></p><p><b> </table></b></p><p> <input type="
80、;submit" value="提交" ></p><p><b> </FORM></b></p><p> </BODY><HTML> </p><p> <%@ page contentType="text/html;charset=G
81、B2312" %></p><p> <%@ page import="tom.jiafei.Query" %></p><p> <jsp:useBean id="Query" class="tom.jiafei.Query" scope="request"/>&l
82、t;/p><p> <HTML><BODY BGCOLOR=cyan></p><p><b> <%</b></p><p> String str1=request.getParameter("num"); //重定向</p><p> String str2
83、=request.getParameter("password");</p><p> if(str1.length()==0||str2.length()==0)</p><p><b> {</b></p><p> response.sendRedirect("In.jsp");</p&
84、gt;<p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> Query.setNumber(str1);</p><p> int pass=Query.read();</
85、p><p> int password=Integer.parseInt(str2);</p><p> if(pass==password)</p><p><b> {</b></p><p> out.println("登錄成功"+"<BR>");</p
86、><p><b> }</b></p><p><b> else</b></p><p> out.println("密碼錯誤,請重新登錄");</p><p><b> }</b></p><p><b> %&g
87、t;</b></p><p> <input type="button" value="修改密碼" onClick="window.location.href='update.jsp'"></p><p> </BODY><HTML> </p>
88、;<p> <%@ page contentType="text/html;charset=GB2312" %></p><p> <HTML><BODY BGCOLOR=cyan></p><p> <%@ page import="tom.jiafei.AddBean" %>&l
89、t;/p><p> <jsp:useBean id="AddBean" class="tom.jiafei.AddBean" scope="request"/></p><p><b> <%!</b></p><p> public static String g
90、etNumber()</p><p><b> {</b></p><p> StringBuilder sb=new StringBuilder();</p><p> int [] arr = new int [8];</p><p> String number=null;</p><p
91、><b> int i=0;</b></p><p> while(i<arr.length)</p><p><b> {</b></p><p> arr[i]=(int)(Math.random()*10);</p><p> if(arr[0]==0)</p>
92、;<p> continue; </p><p> else sb.append(arr[i]);</p><p><b> i++;</b></p><p> number=sb.toString();</p><p><b> }</b></p>
93、<p> return number;</p><p><b> }</b></p><p><b> %></b></p><p><b> <%</b></p><p> String number=getNumber();</p
94、><p> StringPass=request.getParameter("pass");</p><p> int pass=Integer.parseInt(Pass);</p><p> String name=request.getParameter("name");</p><p&
95、gt; String Age=request.getParameter("age"); </p><p> int age =Integer.parseInt(Age);</p><p> AddBean.setPass(pass);</p><p> AddBean.setName(name);</p><p&g
96、t; AddBean.setAge(age);</p><p> AddBean.setNumber(number);</p><p><b> %> </b></p><p><b> <%</b></p><p> int count;</p><p&
97、gt; count=AddBean.getAddMessage();</p><p> if(count>0)</p><p> out.println("注冊成功"+"<BR>");</p><p> out.println("您的號碼是:"+number+"<B
98、R>");</p><p><b> %></b></p><p> <A href="In.jsp">返回登錄界面</A></p><p> </BODY><HTML> </p><p> <%@ page
99、 contentType="text/html;charset=GB2312" %></p><p> <HTML><BODY bgcolor=cyan><FONT Size=2></p><p> <FORM action="updatePassword.jsp" method=post >
100、</p><p><b> <table></b></p><p><b> <tr></b></p><p> <td>帳號:</td><td><input type="text" name="num" siz
101、e=18 maxlength="30"> </td></p><p><b> </tr></b></p><p> <td>舊密碼:</td><td><input type="password" name="old" siz
102、e="18"> </td></p><p><b> </tr></b></p><p> <td>新密碼:</td><td><input type="password" name="new" size="18&q
103、uot;></td></p><p><b> </tr></b></p><p><b> </table></b></p><p> <input type="submit" value="提交" ></p&g
104、t;<p><b> </Form></b></p><p> </BODY></HTMl></p><p> <%@ page contentType="text/html;charset=GB2312" %></p><p> <HTML>
105、<BODY bgcolor=cyan></p><p> <%@ page import="tom.jiafei.Query" %></p><p> <jsp:useBean id="Query" class="tom.jiafei.Query" scope="request"
106、;/></p><p><b> <%</b></p><p> String str1=request.getParameter("num");</p><p> String str2=request.getParameter("new");</p><p>
107、 String str3=request.getParameter("old");</p><p> if(str1.length()==0||str2.length()==0||str3.length()==0)</p><p><b> {</b></p><p> response.sendRedirect(&
108、quot;update.jsp");</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> Query.setNumber(str1);</p><p>
109、; int newpassword=Integer.parseInt(str2);</p><p> Query.setNewpassword(newpassword);</p><p> int pass=Query.read();</p><p> int password=Integer.parseInt(str3);</p><p
110、> if(pass==password)</p><p><b> {</b></p><p> int i=Query.update();</p><p><b> if(i>0)</b></p><p><b> {</b></p>&l
111、t;p> out.println("修改成功"+"<BR>");</p><p><b> }</b></p><p><b> else</b></p><p> out.println("修改失敗");</p><
112、p><b> }</b></p><p><b> else</b></p><p> out.println("密碼錯誤,請重新輸入"+"<BR>");</p><p><b> }</b></p><p>&
113、lt;b> %></b></p><p> <A href="In.jsp">返回登錄界面</A></p><p><b> <BR></b></p><p> <A href="update.jsp">返回密碼修改界面<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- jsp作業(yè)課程設(shè)計--qq登陸系統(tǒng)
- labview登陸界面課程設(shè)計
- jsp課程設(shè)計---網(wǎng)上購物系統(tǒng)
- jsp課程設(shè)計---基于jsp的新聞發(fā)布系統(tǒng)
- linux仿qq通信系統(tǒng)課程設(shè)計
- jsp課程設(shè)計-新聞發(fā)布系統(tǒng)
- jsp課程設(shè)計報告---jsp學(xué)生成績管理系統(tǒng)
- java課程設(shè)計-jsp(新聞管理系統(tǒng))
- jsp課程設(shè)計-- 網(wǎng)上書店系統(tǒng)
- jsp課程設(shè)計--圖書管理系統(tǒng)
- jsp課程設(shè)計--商品書籍管理系統(tǒng)
- jsp圖書管理系統(tǒng)課程設(shè)計
- jsp課程設(shè)計(論文)-新聞發(fā)布系統(tǒng)
- 網(wǎng)上書店系統(tǒng)jsp課程設(shè)計
- 圖書管理系統(tǒng)--jsp課程設(shè)計報告
- jsp課程設(shè)計--職工信息管理系統(tǒng)
- jsp課程設(shè)計報告(技術(shù)論壇系統(tǒng))
- jsp課程設(shè)計---班級信息管理系統(tǒng)
- jsp課程設(shè)計學(xué)生在線選課系統(tǒng)
- jsp課程設(shè)計《圖書館管理系統(tǒng)》
評論
0/150
提交評論