版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE2THECITYVOCATIONALCOLLEGEOFJIANGSUTHECITYVOCATIONALCOLLEGEOFJIANGSU毕业设计(论文)(08届)设计(论文)题目交友网站开发与设计办学点(系)信息工程系专业计算机科学与技术班级学号080606146同学姓名起讫日期2011年12月~2012年4月指导老师职称评阅老师职称2012年3月12日江苏城市职业学院教务处制ﻬ交友网站的开发与实现摘要随着社会的日益开放和工作环境、形势的变化,人与人之间交往的载体也相应得发生了变化。交友网站的设计丰富了很多人的业余文化生活,给人们的生活带来更多的便利,促进了各项工作的全面进步。基于JSP技术可以设计和实现交友网站,它可以为网友供应网络沟通服务,具备网友注册、网友个人管理、网站会员管理等功能.关键词:交友网站;网络沟通服务ABSTRACTAssocietyhasbecomeincreasinglyopenandworkingenvironment,thesituationchangesfrompersontopersoncontactsthecarrierappropriateoccurrenceofachange.Amateurculturallifeofmanypeoplerichdatingsitedesignedtobringmoreconveniencetopeople’slives,andpromotetheoverallprogressofthework.JSPtechnology-baseddesignandimplementationofadatingsite,itcanprovideuserswithnetworkcommunicationservices,withusersregistereduserspersonalmanagement,websiteandmembershipmanagementfunctionality.Keywords:datingsites;networkcommunicationservices;ﻬ名目TOC\o”1—3"\h\z\uHYPERLINKmethod="post">当用户在注册页面中填写信息,单击“注册”按钮后,将恳求发送到名为RegisterServlet的Servlet进行处理。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{//猎取注册表单数据,并进行格式转换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=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"));//调用数据访问层UserDao中的Insert方法,将注册信息插入数据表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)){ﻩ ﻩ//登陆成功时页面派发 ﻩ request.getRequestDispatcher(”/member/default.jsp”)。forward(request,response);ﻩﻩ }else{ﻩﻩﻩ //登陆失败时页面派发ﻩﻩﻩﻩrequest.getRequestDispatcher(”/regist.jsp")。forward(request,response); ﻩﻩ}ﻩﻩ}catch(Exceptione){ﻩ ﻩ//TODOAuto-generatedcatchblockﻩﻩ e.printStackTrace();ﻩﻩ}ﻩ}ﻩpublicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)ﻩ ﻩthrowsServletException,IOException{ﻩ doGet(request,response);ﻩ}}4.1.3会员登录在前台页面中,通过<%@includefile=”member_login。jsp”%>指令包含会员登录入口,会员登入口如图4—3所示:图4—3会员登录入口图在登录入口中填写用户名、密码和验证码,单击“登录”按钮后,系统将推断用户名和密码的有效性,如果通过验证,用户将获得相应地功能。在member_login.jsp页面中,用于登录表单提交的设置如下所示:<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)){ﻩﻩﻩ//验证用户名和密码 ﻩﻩbooleanflag=userDao.checkUser(ID,psw); ﻩﻩif(!flag){//登录失败ﻩﻩ ﻩﻩﻩ request.setAttribute("messages",”<li>输入的用户名或密码错误!</li>");ﻩﻩﻩﻩrequest。getRequestDispatcher("/DefaultServlet")。forward(request,response);ﻩﻩﻩ}else{//登录成功ﻩﻩﻩﻩ//增加该用户积分 ﻩﻩuserDao。addScore(ID,1);ﻩﻩﻩﻩ//将用户名保存到session中session。setAttribute("ID",ID);//将用户等级保存到session中session。setAttribute(”grade",userDao。checkGrade(ID));ﻩﻩﻩﻩrequest.getRequestDispatcher("/DefaultServlet")。forward(request,response);ﻩ }ﻩﻩ}else{ ﻩﻩrequest.setAttribute("messages",”<li>输入的验证码错误!</li>");ﻩ ﻩrequest。getRequestDispatcher("/DefaultServlet”)。forward(request,response); ﻩ}ﻩ}ﻩpublicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) ﻩ throwsServletException,IOException{ﻩﻩdoGet(request,response);ﻩ}}上述代码中,首先调用UserDao类中的checkUser方法验证用户名和密码,checkUser方法的代码如下所示:ﻩpublicbooleancheckUser(Stringusername,Stringpsw){ResultSetrs;StringstrSql=(newStringBuffer()).append("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一般会员功能设计4.2。1查看会员在如图4—4所示的会员登录成功界面中,单击“会员”图片超链接,可以查看交友网站中的全部会员,会员列表如图4-5所示:图4-5会员列表图用于显示会员列表的页面文件为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();//猎取当前页码StringcurrentPage=request。getParameter("page");if(currentPage==null)currentPage="1";intcp=Integer.parseInt(currentPage);//指针,翻过此页的总记录数intbase=(cp-1)*Constant。UserListPageSize;//总页数intpageCount=(int)Math.ceil((float)userDao.getUserList().size()/(float)Constant。UserListPageSize);%>通过调用UserDao类中的getUserList方法猎取会员列表,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所示的会员登录成功界面中,单击“留言”图片超链接,可以查看交友网站中的全部会员,留言列表如图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();ArrayListpicPath=picDao.getAllPicPath();//猎取消息MessageDaomessageDao=newMessageDao();ArrayListallMessages=messageDao.getAllMessages(false);//猎取当前页码StringcurrentPage=request.getParameter("page");if(currentPage==null)currentPage=”1";intcp=Integer.parseInt(currentPage);//指针,翻过此页的总记录数intpoint=(cp—1)*Constant。MessagePageSize;//总页数intpageCount=(int)Math。ceil((float)allMessages.size()/(float)Constant.MessagePageSize);%>通过调用MessageDao类中的getAllMessages方法猎取信息列表。getAllMessages方法的代码如下:publicArrayListgetAllMessages(booleanflag){StringstrSql=(newStringBuffer()).append("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给其他会员留言在如图4—5所示的会员列表中,单击“会员ID”列中的某个会员,可以查看该会员的简略资料。如图4—7所示显示了ID为“qing"的会员的简略资料.图4—7会员qing的简略资料在图4—7中,打开私人留言板,便可给会员qing留言。留言板页面write.jsp的效果如图4-8所示.图4-8留言板页面填写消息标题和内容,单击“写好了"按钮,将留言板表单提交到名为WriteServlet的Servlet进行处理,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();//将新留言保存到数据表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查看和修改个人资料在如图4—3会员登录成功界面中,单击用户掌握面板中的“个人资料”超链接,打开用户个人信息页面personal.jsp,效果如图4—9所示。图4-9用户个人信息页面在personal.jsp页面中修改个人信息,单击“提交修改”按钮后,将恳求提交到名为EditUserInfo的Servlet进行处理,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();//调用UserDao类中的editInfo方法修改用户个人资料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。getRequestDispatcher("/personal.jsp”)。forward(request,response);} }ﻩpublicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)ﻩﻩﻩthrowsServletException,IOException{ﻩ doGet(request,response);ﻩ}}4.2.5上传照片在如图4-3会员登录成功界面中,单击用户掌握面板中的“上传照片”超链接,打开uploadpic.jsp页面,如图4—10所示。图4-10上传照片页面在upload.jsp页面中,单击“上传”和“确定”按钮,将恳求发送到为AddPicServlet的Servlet进行处理,以将照片路径保存到数据表pic中,AddPicServlet主要代码如下:publicclassAddPicServletextendsHttpServlet{ﻩpublicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)ﻩﻩﻩthrowsServletException,IOException{ //照片路径ﻩﻩStringpath=request.getParameter("path"); ﻩ//上传照片者Stringowner=Encoding.toISO8859(request.getParameter(”owner"));//上传照片机器地址StringIP=request。getParameter("IP");PicDaopicDao=newPicDao();//调用PicDao类中的addPic方法将照片路径保存到数据表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查看相册在如图4—4所示的会员登录成功界面中,单击“相册”图片超链接,可以查看交友网站中的全部会员,照片列表如图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.*"%>〈%JspCalendardate=newJspCalendar();//猎取全部网友照片PicDaopicDao=newPicDao();ArrayListpicPath=picDao.getAllPicPath();//猎取当前页StringcurrentPage=request。getParameter("page");if(currentPage==null)currentPage="1";intcp=Integer.parseInt(currentPage);//指针,翻过此页的总记录数intbase=(cp—1)*Constant.PICPAGESIZE_KEY;%>上述代码中,调用了PicDao类中的getAllPath方法猎取全部网页照片,该方法的代码如下所示:publicArrayListgetAllPicPath(){StringstrSql=”select*frompicorderbyloadtimedesc;";ResultSetrs=connection.executeQuery(strSql);ArrayListallPicPath=newArrayList();try{Picp;for(;rs。next();allPicPath。add(p)){p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 47696-2026过程工业安全仪表系统检验测试
- 豚鼠抗流感病毒相关因子解析及H9N2亚型禽流感病毒致病力深度剖析
- 谷氨酰胺免疫营养支持:重塑肝胆手术患者围术期健康的关键策略
- 急性心衰后急性肾损伤规范化管理(科室内部业务学习专用)
- 调控HO-1基因表达:解锁糖尿病血管病变治疗新密码
- 2026年江铜铜箔科技股份有限公司第三批次春季校园招聘2人考试模拟试题及答案详解
- 诺如病毒与组织血型抗原结合机制:结构、功能与进化的深度解析
- 语音信息隐藏算法的原理、实现与应用研究:从理论到实践的深度剖析
- 语义网下自治实体间本体知识路由机制的深度剖析与创新实践
- 2026年春季新疆克拉玛依市面向高校毕业生招聘事业单位人员2人(第三批)考试参考题库及答案详解
- 2026延长石油(集团)限责任公司社会招聘易考易错模拟试题(共500题)试卷后附参考答案
- 企业资金拨付管理方案
- 市场营销专业知识全套题库(含标准答案+详细解析)
- 2026年招标采购从业人员《招标采购专业实务(初级)》考试真题(附答案解析)
- 25年真题贵州省2025年7月普通高中学业水平合格性考试历史试卷
- 2026年中国电信数据发展中心招聘考试试题
- 2026年三基三严考试十八项核心制度试题及答案
- 2025年广西壮族自治区地理生物会考真题试卷+答案
- 第22课 活动课:中国传统节日的起源教学设计初中历史与社会部编版七年级下册-部编版
- 《油气管道地质灾害风险管理技术规范》SYT 6828-2024
- DB62-T 5205-2025 光伏电站运行与维护规范
评论
0/150
提交评论