JSP程序設計報告_第1頁
JSP程序設計報告_第2頁
JSP程序設計報告_第3頁
JSP程序設計報告_第4頁
JSP程序設計報告_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、程序設計報告課程名稱:jsp程序設計設計題目:網(wǎng)絡交友系統(tǒng)學號:1325332146姓名:宇超學 院:信息與控制工程學院j s p設計報告書1 .實訓目的1 .通過課程設計把jsp程序設計這門課所學的容融會貫通,學會jsp設計程序、開發(fā)應用軟件的基本能力。2 .通過設計能使學生更好掌握 jsp面向?qū)ο蠡揪幊碳夹g(shù)和方法。3 .培養(yǎng)學生查閱文獻資料及編寫技術(shù)報告的能力。2 .實訓項目網(wǎng)絡交友3 .實訓要求報告體現(xiàn)容:1、系統(tǒng)分析需求分析可行性分析經(jīng)濟可行性技術(shù)可行性(采用開發(fā)模式的特點)2、系統(tǒng)設計系統(tǒng)目標系統(tǒng)功能結(jié)構(gòu)(文字+結(jié)構(gòu)圖)系統(tǒng)流程圖系統(tǒng)預覽(幾個主要頁面抓圖)文件夾組織結(jié)構(gòu)3、數(shù)據(jù)庫

2、設計數(shù)據(jù)庫需求分析數(shù)據(jù)庫概念設計數(shù)據(jù)庫邏輯結(jié)構(gòu)設計4、模塊設計(各個模塊及主要代碼)5、簡要總結(jié)及自我評價四.進度安排1、代碼編寫調(diào)試(4.5天):程序代碼編寫、調(diào)試、測試。2、撰寫報告(1天):總結(jié)課程設計任務和容。1、系統(tǒng)分析網(wǎng)絡交友系統(tǒng),采用mvc模式實現(xiàn)各個模塊,其目的是為了掌握 web應 用中常用基本開發(fā)方法。jsp引擎為tomcat6.0 ;數(shù)據(jù)庫是sql server 2000;數(shù)據(jù)庫連接操作使用加載 java數(shù)據(jù)庫驅(qū)動程序方式。2、系統(tǒng)設計1)系統(tǒng)功能結(jié)構(gòu)網(wǎng)絡交友平臺主頁:為用戶提供一個交友的新平臺,其導航作用。會員注冊:新會員填寫表單,包括會員名、 email地址等信息。如果

3、輸入的會員名已經(jīng)被其他用戶注冊使用,系統(tǒng)提示新用戶更改自己的會員名。會員登錄:輸入會員名,密碼。如果用戶輸入的會員名或密碼錯誤, 系統(tǒng)將顯示錯誤信息。上傳照片:如果登陸成功,用戶可以使用該模塊上傳自己的照片。返回主頁:未成功注冊的用戶可返回首頁。2)系統(tǒng)流程圖模塊流程圖如下:/ i會貝建碉、 會員壑錄ijx傳片采用的mvc開發(fā)模式,流程圖如下:成的j3p教即3)文件夾組織結(jié)構(gòu)本次設計使用的 web服務目錄是 mkfriend ,是在tomcat安裝目錄的webapps目錄下建立 web服務目錄。mkfriendweb-infclassesmybean,myservletdata,control

4、3、模塊設計(各個模塊及主要代碼、截圖)1)數(shù)據(jù)庫設計使用sql server 2000建立一個數(shù)據(jù)庫 welcome,該庫有一個表:member表。會員的注冊信息存入 member表中,member的主鍵是logname , member表的詳細結(jié)構(gòu)設計,各個字段值的說明如下:logname:存儲會員登錄名字,password :存儲會員登錄密碼,phone:存儲會員的, email:存儲會員的 email 地址, message :存 儲會員的簡歷。列名歙據(jù)類型|任度允杵空同1 ognaaeehu r100pe) ss w n r dchar100p tl 0nen h a r100e n

5、t a11e h a r200sugec hn r20002)網(wǎng)絡交友平臺主頁主要頁面運行效果如下:代碼如下:head.txt(導航條文件,是嵌入到自己的頁面中,便于維護的。 ) 網(wǎng)絡交友平臺 會員注冊 會員登錄 上傳照片 瀏覽會員 修改注冊信息 修改密碼 退出登錄 返回主頁 index.jsp (有導航條,歡迎語和圖片05.jpg組成。) 歡迎您來這里結(jié)交朋友3)配置文件本次設計的servlet類的包名均為 myservlet.control ,需要配置此文件,代碼如下: web.xmlregistermyservlet.control.handleregisterregister/help

6、registerloginmyservlet.control.handlelogin login/helploginuploadmyservlet.control.handleuploadupload/helpuploadlookrecordmyservlet.control.handledatabaselookrecord/helpshowmember4)會員注冊當新會員注冊時,該模塊要求用戶必須輸入會員名、密碼信息,否則不允許注冊,用戶的注冊信息被存入數(shù)據(jù)庫的member中主要頁面運行效果如下:代碼如下:javabean(模型)用來描述用戶注冊信息。代碼如下:register.javapa

7、ckage mybean.data;public class register stringlogname=,password=,email=,phone=,message=;string backnews;public void setlogname(string name) logname=name;public string getlogname()return logname;public void setpassword(string pw) password=pw;public string getpassword() return password;public void set

8、email(string em) email=em;public string getemail()return email;public void setphone(string ph)phone=ph;public string getphone()return phone;public void setmessage(string m) message=m;public string getmessage()return message;public string getbacknews()return backnews;public void setbacknews(string s)

9、 backnews=s;javaservlet(控制器)用來連接數(shù)據(jù)庫,將用戶提交的信息寫入到member表中,并將轉(zhuǎn)發(fā)給show.jsp頁面查看注冊反饋信息。代碼如handleregister.javapackage myservlet.control;import mybean.data*;import java.sql.*;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class handleregister extends httpservletpublic void init(se

10、rvletconfig config) throws servletexceptionsuper.init(config);tryclass.forname(.microsoft.sqlserver.jdbc.sqlserverdriver);catch(exception e)public string handlestring(string s)trybyte bb-s.getbytes(iso-8859-1);s=new string(bb);catch(exception ee) return s;public void dopost(httpservletrequest reques

11、t, httpservletresponse response)throws servletexception,ioexception connection con;statement sql;register reg=new register。; request.setattribute(register,reg);string logname=request.getparameter(logname).trim(), password=request.getparameter(password).trim(), email=request.getparameter(email).trim(

12、), phone=request.getparameter(phone).trim(), message=request.getparameter(message);stringuri=jdbc:sqlserver::1433;databasename=welcome;if(logname=null)logname=;if(password=null)password=;boolean isld=true;for(int i=0;ilogname.length();i+) char c=logname.charat(i);if(!(c=a)|(c=a)|(c=0) isld=

13、false;booleanboo=logname.length()0&password.length()0&isld;string backnews=;trylogname=handlestring(logname);password=handlestring(password);phone=handlestring(phone);email=handlestring(email);message=handlestring(message);=(+logname+,+password+,+email+,+phone+);con=drivermanager.getconnection(uri,s

14、a,sa);string insertcondition=insert into membervalues+insertrecord;sql=con.createstatement();if(boo)int m=sql.executeupdate(insertcondition);if(m!=0)backnews=注冊成功;reg.setbacknews(backnews);reg.setlogname(logname);reg.setpassword(password);reg.setemail(email);reg.setphone(phone);reg.setmessage(messag

15、e);elsebacknews=信息填寫不完整或名字中有非法字符;reg.setbacknews(backnews);con.close();catch(sqlexception exp)backnews=該會員名已被使用,請您更換名字+exp;reg.setbacknews(backnews);requestdispatcher dispatcherrequest.getrequestdispatcher(show.jsp);dispatcher.forward(request,response);public void doget(httpservletrequest request,ht

16、tpservletresponse response)throws servletexception,ioexception dopost(request,response); jsp頁面(視圖)本模塊的視圖有兩個jsp頁面:register.jsp 和show.jsp o register.jsp 頁面負責提供輸入注冊信息界面;show.jsp負責顯示注冊反饋信息。代碼如下: register.jsp 輸入您的信息,用戶名稱必須由字母和數(shù)字組成,帶*號項必須填寫。 會員名稱 :* 設置密碼 :* 電子 : 聯(lián)系 :spanclass=style1*u入您的簡歷和交友標準:show.jsp 注

17、冊的會員名稱:注冊的電子:注冊的聯(lián)系:您的簡歷和交友標準: 5)會員登錄用戶可在該模塊輸入自己的會員名和密碼,系統(tǒng)將對會員名和密 碼盡享驗證,如果輸入用戶名或密碼有錯誤,將提示用戶輸入的用戶 名和密碼不正確。主要頁面運行效果如下:卷錄鼠動代碼如下:javabean(模型)用來描述用戶登錄信息。代碼如下:login.javapackage mybean.data;public class login string logname,password,backnews=;boolean success=false;public void setlogname(string name)logname=

18、name;public string getlogname()return logname;public void setpassword(string pw)password=pw;public string getpassword()return password;public string getbacknews()return backnews;public void setbacknews(string s)backnews=s;public void setsuccess(boolean b)success=b;public boolean getsuccess()return s

19、uccess;member 表,并驗證表中,將用戶轉(zhuǎn)發(fā)到javaservlet(控制器)用來連接數(shù)據(jù)庫,查詢用戶輸入的會員名和密碼是否在membershowsuccess.jsp頁面查看登錄反饋信息。代碼如下:handlelogin.javapackage myservlet.control;import mybean.data*;import java.sql.*;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class handlelogin extends httpservletpub

20、lic void init(servletconfig config) throws servletexceptionsuper.init(config);tryclass.forname(.microsoft.sqlserver.jdbc.sqlserverdriver);catch(exception e)public string handlestring(string s)trybyte bb-s.getbytes(iso-8859-1);s=new string(bb);catch(exception ee)return s;public void dopost(httpservle

21、trequest request, httpservletresponse response) throws servletexception,ioexceptionconnection con;statement sql;login loginbean=null;string backnews=;httpsession session=request.getsession(true);tryloginbean=(login)session.getattribute(login);if(loginbean=null)loginbean=new login();session.setattrib

22、ute(login,loginbean);catch(exception ee)loginbean=new login();session.setattribute(login,loginbean);string logname=request.getparameter(logname).trim(), password=request.getparameter(password).trim();boolean ok=loginbean.getsuccess();logname=handlestring(logname);password=handlestring(password);if(o

23、k=true&logname.equals(loginbean.getlogname()backnews=logname+”已經(jīng)登錄了 ;loginbean.setbacknews(backnews);elsestringuri=jdbc:sqlserver::1433;databasename=welcome;booleanboo=(logname.length()0)&(password.length()0);trycon=drivermanager.getconnection(uri,sa,sa);string conditionselect * from member

24、 where logname=+logname+and password= +password+;sql=con.createstatement();if(boo)resultset rs=sql.executequery(condition);boolean m=rs.next();if(m=true)backnews=登錄成功;loginbean.setbacknews(backnews);loginbean.setsuccess(true);loginbean.setlogname(logname);elsebacknews=您輸入的用戶名不存在,或密碼不匹配loginbean.setb

25、acknews(backnews);loginbean.setsuccess(false);loginbean.setlogname(logname);loginbean.setpassword(password);elsebacknews=您輸入的用戶名不存在,或密碼不匹配loginbean.setbacknews(backnews);loginbean.setsuccess(false);loginbean.setlogname(logname);loginbean.setpassword(password);con.close();catch(sqlexception exp)backn

26、ews=+exp;loginbean.setbacknews(backnews);loginbean.setsuccess(false);requestdispatcher dispatcherrequest.getrequestdispatcher(show.jsp);dispatcher.forward(request,response);publicvoiddoget(httpservletrequestrequest,httpservletresponse response)throws servletexception,ioexception dopost(request,respo

27、nse); jsp頁面(視圖)本模塊的視圖有兩個 jsp頁面:login.jsp 和 showsuccess.jsp 。 login.jsp 頁面負 責提供輸入登錄界面; showsuccess.jsp負責顯示登錄反饋信息。代碼如下: login.jsp 請你登錄 會員名稱: 輸入密碼:showsuccess.jsp 登 錄會員 名稱: 登 錄會員 名稱: 登錄會員密碼: 6)上傳照片用戶可在該模塊上傳自己的照片,如果member中已經(jīng)存有一幅照片,新上傳的照片將替換原有的照片。用戶在注冊時,注冊模塊給會員的照片是默認的一幅圖像:public.jpg.主要頁面運行效果如下:上洋看*犬鼻,事*

28、* 4,.m,更”要上唐的族總片氧f *才斯力54韋木毋產(chǎn)電才/,朝出事左,】代碼如下:javabean(模型)用來描述用戶上傳的照片圖像文件的有關(guān)信息。代碼如下:uploadpackage mybean.data;public class uploadfilestring ;public void set(string name);public string get()return ;public void saved(string name)saved;public string getsaved() return saved; public string getbacknews()ret

29、urn backnews; public void setbacknews(string s) backnews=s;javaservlet(控制器)該servlet的對象的名字是upload , upload控制器負責檢查用戶是否是登錄用戶,如果用戶沒有登錄,upload控制器將把用戶定向到登錄頁面login.jsp ,對于登錄的用戶,upload控制器負責把用戶提交的圖像文件保存到當前web服務目錄的特定子目錄image中,保存的圖像文件名字由用戶上傳的文件名字添加上用 戶的會員名作為前綴而構(gòu)成。upload控制器同時負責將保存的圖像文 件名存入 member表,然后將用戶轉(zhuǎn)發(fā)至 show

30、uploadmess.jsp 頁面 查看上傳操作的反饋信息。代碼如下: handleupload.java package myservlet.control;import mybean.data.*;import java.sql.*;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class handleupload extends httpservletpublic void init(servletconfig config) throws servletexception super

31、.init(config);tryclass.forname(.microsoft.sqlserver.jdbc.sqlserverdriver); catch(exception e)public void dopost(httpservletrequest request, httpservletresponse response) throws servletexception,ioexceptionhttpsession session=request.getsession(true);login login=(login)session.getattribute(login);boo

32、lean ok=true;if(login=null)ok=false;response.sendredirect(login.jsp);if(ok=true)string logname=login.getlogname();upload(request,response,logname);public void upload(httpservletrequest request,httpservletresponseresponse,stringlogname)throws servletexception,ioexceptionupload uploadfile();string bac

33、knews=;tryhttpsession session=request.getsession(true);request.setattribute(up);string temp(string)session.getid(););o=new (f1);inputstream in=request.getinputstream();byte b=new byte10000;int n;while(n=in.read(b)!=-1)o.write(b,0,n);o.close();in.close();randomaccess randomaccess,r);int second=1;stri

34、ng secondline=null;while(second=2)secondline=random.readline();second+;int position=secondline.lastindexof();if(position=-1)response.sendredirect(upload.jsp);return;stringsecondline.substring(position+1,secondline.length()-1);byte cc=(iso-8859-1);string(cc);(,);string checkedstr=(0,(.);boolean islet

35、terordigit=true;for(int i=0;icheckedstr.length();i+)char c=checkedstr.charat(i);if(!(c=a)|(c=a)|kc=0)isletterordigit=false;break;if(isletterordigit=false)response.sendredirect(upload.jsp);return;string saved();random.seek(0);long forthendposition=0;int forth=1;while(n=random.readbyte()!=-1&(forth=4)if(n=n)forthendposition=random.get();forth+;file(d:/apache-tomcat-6.0.13/webapps/mkfriend/image);dir.mkdir();=dir.listfiles();for(int k=0;k=0)&(j=6)mar

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論