版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
PAGEPAGE2THECITYVOCATIONALCOLLEGEOFJIANGSUTHECITYVOCATIONALCOLLEGEOFJIANGSU畢業(yè)設(shè)計(jì)(論文)(08屆)設(shè)計(jì)(論文)題目交友網(wǎng)站開發(fā)與設(shè)計(jì)辦學(xué)點(diǎn)(系)信息工程系專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)班級(jí)學(xué)號(hào)080606146同學(xué)姓名起訖日期2011年12月~2012年4月指導(dǎo)老師職稱評(píng)閱老師職稱2012年3月12日江蘇城市職業(yè)學(xué)院教務(wù)處制?交友網(wǎng)站的開發(fā)與實(shí)現(xiàn)摘要隨著社會(huì)的日益開放和工作環(huán)境、形勢的變化,人與人之間交往的載體也相應(yīng)得發(fā)生了變化。交友網(wǎng)站的設(shè)計(jì)豐富了很多人的業(yè)余文化生活,給人們的生活帶來更多的便利,促進(jìn)了各項(xiàng)工作的全面進(jìn)步?;贘SP技術(shù)可以設(shè)計(jì)和實(shí)現(xiàn)交友網(wǎng)站,它可以為網(wǎng)友供應(yīng)網(wǎng)絡(luò)溝通服務(wù),具備網(wǎng)友注冊(cè)、網(wǎng)友個(gè)人管理、網(wǎng)站會(huì)員管理等功能.關(guān)鍵詞:交友網(wǎng)站;網(wǎng)絡(luò)溝通服務(wù)ABSTRACTAssocietyhasbecomeincreasinglyopenandworkingenvironment,thesituationchangesfrompersontopersoncontactsthecarrierappropriateoccurrenceofachange.Amat(yī)eurculturallifeofmanypeoplerichdatingsitedesignedtobringmoreconveniencetopeople’slives,andpromotetheoverallprogressofthework.JSPtechnology-baseddesignandimplementationofadatingsite,itcanprovideuserswithnetworkcommunicationservices,withusersregistereduserspersonalmanagement,websiteandmembershipmanagementfunctionality.Keywords:datingsites;networkcommunicationservices;?名目TOC\o”1—3"\h\z\uHYPERLINKmethod="post">當(dāng)用戶在注冊(cè)頁面中填寫信息,單擊“注冊(cè)”按鈕后,將懇求發(fā)送到名為RegisterServlet的Servlet進(jìn)行處理。RegisterServlet中的代碼如下所示:packagecom。friend.servlet;importjava.io.IOException;importjavax。servlet。ServletException;importjavax.servlet。http。HttpServlet;importjavax.servlet。http.HttpServletRequest;importjavax。servlet。http。HttpServletResponse;importcom.friend.common.*;importcom.friend.dao.UserDao;publicclassRegisterServletextendsHttpServlet{publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)? throwsServletException,IOException{//獵取注冊(cè)表單數(shù)據(jù),并進(jìn)行格式轉(zhuǎn)換StringID=Encoding.toISO8859(request。getParameter(”ID"));Stringpsw=Encoding.toISO8859(request.getParameter("psw"));Stringsex=Encoding。toISO8859(request.getParameter("sex"));Stringemail=Encoding.toISO8859(request.getParameter("email")); intbirthyear=Integer。parseInt(request.getParameter("birthyear”));intbirthmonth=Integer.parseInt(request.getParameter(”birthmonth"));intbirthday=Integer.parseInt(request.getParameter("birthday"));Stringrealname=Encoding。toISO8859(request.getParameter("realname"));Stringprovince=Encoding.toISO8859(request.getParameter(”province"));Stringcity=Encoding.toISO8859(request.getParameter(”city"));Stringmobile=request。getParameter("mobile");Stringaddress=Encoding。toISO8859(request.getParameter("address”));intheight=Integer。parseInt(request.getParameter("height”));intweight=Integer.parseInt(request。getParameter("weight"));Stringworkdat(yī)=Encoding.toISO8859(request.getParameter(”workdat"));Stringpost=Encoding.toISO8859(request。getParameter("post"));Stringhobby=Encoding。toISO8859(request.getParameter("hobby"));Stringlookingfor=Encoding.toISO8859(request.getParameter(”lookingfor"));Strinroduction=Encoding。toISO8859(request.getParameter(”introduction"));Stringopen=Encoding.toISO8859(request.getParameter(”open"));//調(diào)用數(shù)據(jù)訪問層UserDao中的Insert方法,將注冊(cè)信息插入數(shù)據(jù)表membersUserDaouserDao=newUserDao();try{?? if(userDao。Insert(ID,psw,sex,birthyear,birthmonth,? ? birthday,email,realname,province,city,mobile,?? ?address,height,weight,workdat,post,hobby, ?? lookingfor,introduction,Constant.USER_BASE_SCORE,open)){? ?//登陸成功時(shí)頁面派發(fā) ? request.getRequestDispatcher(”/member/default.jsp”)。forward(request,response);?? }else{??? //登陸失敗時(shí)頁面派發(fā)????request.getRequestDispatcher(”/regist.jsp")。forward(request,response); ??}??}catch(Exceptione){? ?//TO(shè)DOAuto-generatedcatchblock?? e.printStackTrace();??}?}?publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)? ?throwsServletException,IOException{? doGet(request,response);?}}4.1.3會(huì)員登錄在前臺(tái)頁面中,通過<%@includefile=”member_login。jsp”%>指令包含會(huì)員登錄入口,會(huì)員登入口如圖4—3所示:圖4—3會(huì)員登錄入口圖在登錄入口中填寫用戶名、密碼和驗(yàn)證碼,單擊“登錄”按鈕后,系統(tǒng)將推斷用戶名和密碼的有效性,如果通過驗(yàn)證,用戶將獲得相應(yīng)地功能。在member_login.jsp頁面中,用于登錄表單提交的設(shè)置如下所示:<formmethod=”post”action=”/Friend/loginServlet”〉LoginServlet的代碼如下所示:packagecom。friend。servlet;importjava.io.IOException;importjavax.servlet。ServletException;importjavax。servlet.http。HttpServlet;importjavax。servlet。http。HttpServletRequest;importjavax。servlet。http。HttpServletResponse;importjavax。servlet。http。HttpSession;importcom.frienmon。Encoding;importcom。friend.dao.UserDao;publicclassLoginServletextendsHttpServlet{?publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)? throwsServletException,IOException{??HttpSessionsession=request.getSession(); ?StringID=request.getParameter("ID");??Stringpsw=request。getParameter(”psw”); ?Stringcode=request.getParameter("code");??Stringstr=Encoding。toISO8859((String)session.getAttribute("strEnsure”));? UserDaouserDao=newUserDao();??if(str.equals(code)){???//驗(yàn)證用戶名和密碼 ??booleanflag=userDao.checkUser(ID,psw); ??if(!flag){//登錄失敗?? ??? request.setAttribute("messages",”<li>輸入的用戶名或密碼錯(cuò)誤!</li>");????request。getRequestDispat(yī)cher("/DefaultServlet")。forward(request,response);???}else{//登錄成功????//增加該用戶積分 ??userDao。addScore(ID,1);????//將用戶名保存到session中session。setAttribute("ID",ID);//將用戶等級(jí)保存到session中session。setAttribute(”grade",userDao。checkGrade(ID));????request.getRequestDispatcher("/DefaultServlet")。forward(request,response);? }??}else{ ??request.setAttribute("messages",”<li>輸入的驗(yàn)證碼錯(cuò)誤!</li>");? ?request。getRequestDispatcher("/DefaultServlet”)。forward(request,response); ?}?}?publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) ? throwsServletException,IOException{??doGet(request,response);?}}上述代碼中,首先調(diào)用UserDao類中的checkU(xiǎn)ser方法驗(yàn)證用戶名和密碼,checkUser方法的代碼如下所示:?publicbooleancheckUser(Stringusername,Stringpsw){ResultSetrs;StringstrSql=(newStringBuffer()).a(chǎn)ppend("select*frommemberswhereID='").append(username).append("'andpsw='”).append(psw)。append(”'").toString();rs=connection.executeQuery(strSql);try{if(rs.next())returntrue;}catch(SQLExceptionex){ex.printStackTrace();}returnfalse;}?登錄成功后,頁面效果如圖4-4所示:圖4-4登錄效果圖4.2一般會(huì)員功能設(shè)計(jì)4.2。1查看會(huì)員在如圖4—4所示的會(huì)員登錄成功界面中,單擊“會(huì)員”圖片超鏈接,可以查看交友網(wǎng)站中的全部會(huì)員,會(huì)員列表如圖4-5所示:圖4-5會(huì)員列表圖用于顯示會(huì)員列表的頁面文件為allmembers.jsp,頁面開頭部分包含以下代碼:〈%@pagecontentType="text/html;charset=GBK”%><%@pageimport=”java。util.*"%><%@pageimport="com.friend.dao.*,com。friend.common.*,com。friend。entity.*”%><%@tagliburi="http://java.sun.com/jsp/jstl/core”prefix=”c"%〉〈%UserDaouserDao=newUserDao();JspCalendardate=newJspCalendar();//獵取照片PicDaopicDao=newPicDao();ArrayListpicPath=picDao.getAllPicPath();//獵取當(dāng)前頁碼StringcurrentPage=request。getParameter("page");if(currentPage==null)currentPage="1";intcp=Integer.parseInt(currentPage);//指針,翻過此頁的總記錄數(shù)intbase=(cp-1)*Constant。UserListPageSize;//總頁數(shù)intpageCount=(int)Math.ceil((float)userDao.getUserList().size()/(float)Constant。UserListPageSize);%>通過調(diào)用UserDao類中的getUserList方法獵取會(huì)員列表,getUserList方法的代碼如下所示:publicArrayListgetUserList(){Stringsql="select*frommembersorderbyregisttimedesc”;ArrayListuserList=newArrayList();try{ResultSetrs=connection.executeQuery(sql);while(rs.next()){Useruser=newUser();user。setID(rs.getString("ID”));user.setSex(rs.getString("sex”));user.setGrade(rs。getString("grade"));user.setRegistTime(rs.getString("registtime”));user.setOpen(rs.getString("open”));user.setLocked(rs.getString("locked”));userList。add(user);}}catch(SQLExceptionex1){}returnuserList;}4。2.2查看留言如圖4—4所示的會(huì)員登錄成功界面中,單擊“留言”圖片超鏈接,可以查看交友網(wǎng)站中的全部會(huì)員,留言列表如圖4-6所示:圖4-6留言列表圖用于顯示全部信息列表的頁面文件為allmessage.jsp,頁面開頭部分代碼為:<%@pagecontentType="text/html;charset=GBK”%><%@pageimport=”com。friend.dao。*,com.friend。common。*,com.friend.entity。*"%>〈%@tagliburi="http://java.sun.com/jsp/jstl/core"prefix="c"%><%@pageimport=”java。util.*”%><%UserDaouserDao=newUserDao();JspCalendardate=newJspCalendar();//獵取照片PicDaopicDao=newPicDao();ArrayListpicPat(yī)h=picDao.getAllPicPath();//獵取消息MessageDaomessageDao=newMessageDao();ArrayListallMessages=messageDao.getAllMessages(false);//獵取當(dāng)前頁碼StringcurrentPage=request.getParameter("page");if(currentPage==null)currentPage=”1";intcp=Integer.parseInt(currentPage);//指針,翻過此頁的總記錄數(shù)intpoint=(cp—1)*Constant。MessagePageSize;//總頁數(shù)intpageCount=(int)Math。ceil((float(yī))allMessages.size()/(float(yī))Constant.MessagePageSize);%>通過調(diào)用MessageDao類中的getAllMessages方法獵取信息列表。getAllMessages方法的代碼如下:publicArrayListgetAllMessages(booleanflag){StringstrSql=(newStringBuffer()).a(chǎn)ppend("select*frommessageswhereflag=”).append(flag).append(”orderbytimedesc;")。toString();ResultSetrs=connection.executeQuery(strSql);ArrayListmessages=newArrayList();try{Messagemessage;for(;rs.next();messages。add(message)){message=newMessage();message.setId(rs。getInt(”id”));message.setTomember(rs。getString("tomember"));message。setTitle(rs.getString("title”));message.setContent(rs.getString(”content"));message.setTime(rs.getString("time"));message。setBymember(rs.getString("bymember"));message。setByIP(rs.getString("byIP"));}}catch(SQLExceptionex){ex.printStackTrace();}returnmessages;}4.2.3給其他會(huì)員留言在如圖4—5所示的會(huì)員列表中,單擊“會(huì)員ID”列中的某個(gè)會(huì)員,可以查看該會(huì)員的簡略資料。如圖4—7所示顯示了ID為“qing"的會(huì)員的簡略資料.圖4—7會(huì)員qing的簡略資料在圖4—7中,打開私人留言板,便可給會(huì)員qing留言。留言板頁面write.jsp的效果如圖4-8所示.圖4-8留言板頁面填寫消息標(biāo)題和內(nèi)容,單擊“寫好了"按鈕,將留言板表單提交到名為WriteServlet的Servlet進(jìn)行處理,WriteServlet的代碼如下所示:publicclassWriteServletextendsHttpServlet{?publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)???throwsServletException,IOException{??Stringtomember=Encoding.toISO8859(request.getParameter("tomember"));Stringtitle=Encoding.toISO8859(request.getParameter("title"));Stringcontent=Encoding.toISO8859(request.getParameter(”content"));Stringbymember=Encoding.toISO8859(request。getParameter("bymember”));StringbyIP=Encoding.toISO8859(request.getParameter("byIP"));MessageDaomessageDao=newMessageDao();//將新留言保存到數(shù)據(jù)表messages中if(messageDao。addMessage(tomember,title,content,bymember,byIP)&&messageDao.addCountBy(bymember)&&messageDao。addCountTo(tomember))request.getRequestDispatcher(”/allmessages。jsp")。forward(request,response);elserequest.getRequestDispatcher("/write.jsp”).forward(request,response);?}?publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)???throwsServletException,IOException{??doGet(request,response);?}}4.2.4查看和修改個(gè)人資料在如圖4—3會(huì)員登錄成功界面中,單擊用戶掌握面板中的“個(gè)人資料”超鏈接,打開用戶個(gè)人信息頁面personal.jsp,效果如圖4—9所示。圖4-9用戶個(gè)人信息頁面在personal.jsp頁面中修改個(gè)人信息,單擊“提交修改”按鈕后,將懇求提交到名為EditUserInfo的Servlet進(jìn)行處理,EditUserInfo的代碼如下所示:publicclassEditUserInfoextendsHttpServlet{?publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)? throwsServletException,IOException{??StringID=Encoding.toISO8859(request.getParameter("ID"));??Stringpsw=Encoding.toISO8859(request。getParameter(”psw"));Stringsex=Encoding。toISO8859(request.getParameter("sex”));Stringemail=Encoding.toISO8859(request。getParameter(”email"));intbirthyear=Integer。parseInt(request.getParameter(”birthyear"));intbirthmonth=Integer。parseInt(request.getParameter(”birthmonth"));intbirthday=Integer。parseInt(request。getParameter("birthday"));Stringrealname=Encoding.toISO8859(request。getParameter("realname"));Stringprovince=Encoding.toISO8859(request.getParameter("province"));Stringcity=Encoding.toISO8859(request.getParameter("city"));Stringmobile=request。getParameter("mobile");Stringaddress=Encoding。toISO8859(request.getParameter("address”));intheight=Integer。parseInt(request。getParameter("height”));intweight=Integer.parseInt(request。getParameter(”weight”));Stringworkedat=Encoding。toISO8859(request.getParameter("workedat"));Stringpost=Encoding.toISO8859(request.getParameter("post"));Stringhobby=Encoding.toISO8859(request.getParameter("hobby"));Stringlookingfor=Encoding。toISO8859(request.getParameter("lookingfor”));Stringintroduction=Encoding.toISO8859(request.getParameter("introduction”));Stringopen=Encoding.toISO8859(request.getParameter(”open"));UserDaouserDao=newUserDao();//調(diào)用UserDao類中的editInfo方法修改用戶個(gè)人資料if(userDao.editInfo(ID,psw,sex,birthyear,birthmonth,birthday,email,??height,weight,workedat,post,hobby,lookingfor,introduction,??realname,province,city,address,mobile,open)){?HttpSessionsession=request。getSession();?session.removeAttribute(”Constant.USER_KEY");?//修改成功后,將session中的信息清除并讓用戶重新登錄?session。invalidate();?request。getRequestDispatcher("/member/default.jsp”)。forward(request,response);}else{ request。getRequestDispat(yī)cher("/personal.jsp”)。forward(request,response);} }?publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)???throwsServletException,IOException{? doGet(request,response);?}}4.2.5上傳照片在如圖4-3會(huì)員登錄成功界面中,單擊用戶掌握面板中的“上傳照片”超鏈接,打開uploadpic.jsp頁面,如圖4—10所示。圖4-10上傳照片頁面在upload.jsp頁面中,單擊“上傳”和“確定”按鈕,將懇求發(fā)送到為AddPicServlet的Servlet進(jìn)行處理,以將照片路徑保存到數(shù)據(jù)表pic中,AddPicServlet主要代碼如下:publicclassAddPicServletextendsHttpServlet{?publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)???throwsServletException,IOException{ //照片路徑??Stringpat(yī)h=request.getParameter("path"); ?//上傳照片者Stringowner=Encoding.toISO8859(request.getParameter(”owner"));//上傳照片機(jī)器地址StringIP=request。getParameter("IP");PicDaopicDao=newPicDao();//調(diào)用PicDao類中的addPic方法將照片路徑保存到數(shù)據(jù)表pic中if(picDao.addPic(owner,path,IP)){?response.sendRedirect("/Friend/showpic.jsp?&ID="+owner);}?} publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) ??throwsServletException,IOException{??doGet(request,response);?}}4。2。6查看相冊(cè)在如圖4—4所示的會(huì)員登錄成功界面中,單擊“相冊(cè)”圖片超鏈接,可以查看交友網(wǎng)站中的全部會(huì)員,照片列表如圖4-11:圖4-11列表圖allpic.jsp頁面開頭代碼如下:〈%@pagecontentType="text/html;charset=GBK"%><%@pageimport="com。friend.dao。*,com.friend.common。*,com.friend.entity.*”%><%@tagliburi="http://java。sun。com/jsp/jstl/core"prefix=”c"%〉<%@pageimport=”java.util.*"%>〈%JspCalendardat(yī)e=newJspCalendar();//獵取全部網(wǎng)友照片PicDaopicDao=newPicDao();ArrayListpicPath=picDao.getAllPicPat(yī)h();//獵取當(dāng)前頁StringcurrentPage=request。getParameter("page");if(currentPage==null)currentPage="1";intcp=Integer.parseInt(currentPage);//指針,翻過此頁的總記錄數(shù)intbase=(cp—1)*Constant.PICPAGESIZE_KEY;%>上述代碼中,調(diào)用了PicDao類中的getAllPath方法獵取全部網(wǎng)頁照片,該方法的代碼如下所示:publicArrayListgetAllPicPath(){StringstrSql=”select*frompicorderbyloadtimedesc;";ResultSetrs=connection.executeQuery(strSql);ArrayListallPicPat(yī)h=newArrayList();try{Picp;for(;rs。next();allPicPath。add(p)){p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國稱重管理系統(tǒng)行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2030年中國營養(yǎng)保健鹽數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025年二相/四相混合式電機(jī)驅(qū)動(dòng)器項(xiàng)目可行性研究報(bào)告
- 2025至2030年中國槽鋼剪切專機(jī)數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025至2030年中國尿褲布用料數(shù)據(jù)監(jiān)測研究報(bào)告
- 寵物飼養(yǎng)員寵物飼養(yǎng)法規(guī)模擬考試考核試卷
- 家居紡織品流行趨勢考核試卷
- 二零二五年度蘋果加工副產(chǎn)品回收利用合同3篇
- 家具生產(chǎn)制造流程考核試卷
- 2025-2030年固體花草茶禮盒裝行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 《梅大高速茶陽路段“5·1”塌方災(zāi)害調(diào)查評(píng)估報(bào)告》專題警示學(xué)習(xí)
- 2024年09月北京中信銀行北京分行社會(huì)招考(917)筆試歷年參考題庫附帶答案詳解
- 《大健康解讀》課件
- 2025年度交通運(yùn)輸規(guī)劃外聘專家咨詢協(xié)議3篇
- 2024年04月北京中信銀行北京分行社會(huì)招考(429)筆試歷年參考題庫附帶答案詳解
- 專項(xiàng)債券培訓(xùn)課件
- 《會(huì)務(wù)的組織和管理》課件
- 2024年公司領(lǐng)導(dǎo)在新年動(dòng)員會(huì)上的講話樣本(3篇)
- 2025年中國濕度傳感器行業(yè)深度分析、投資前景、趨勢預(yù)測報(bào)告(智研咨詢)
- 《儒林外史》(第13-30回)-初中整本書閱讀系列之《儒林外史》
- 污水處理中的應(yīng)急預(yù)案與處置措施考核試卷
評(píng)論
0/150
提交評(píng)論