1、1.系统模块构成(1)会员注册:新会员填写表单,包括会员名、Email地址等信息。如果输入的会员名已经被其他用户注册使用,系统提示新用户更改自己的会员名。会员登录:输入会员名、密码。如果用户输入的会员名或密码有错误,系统将显示错误信息。(2)上传照片:如果登录成功,用户可以使用该模块上传自己的照片。浏览会员:成功登录的会员可以分页浏览其他会员的信息,比如其他会员的简历、照片等。如果用户直接进入该页面或没有成功登录就进入该页面,将被链接到“会员登录”页面。(3)修改密码:成功登录的会员可以在该页面修改自己的登录密码,如果用户直接进入该页面或没有成功登录就进入该页面,将被链接到“会员登录”页面。改
2、注册信息:成功登录的会员可以在该页面修改自己的注册信息,比如联系电话、通信地址等,如果用户直接进入该页面或没有成功登录就进入该页面,将被链接到“会员登录”页面。(4)退出登录:成功登录的用户可以使用该模块退出登录。2.数据库设计使用或ACCESS建立一个数据库MakeFriend,该库有一个表:member表。会员的注册信息存入member表中,member表的主键是logname,各个字段值的说明如下:logname :存储会员登录名字password :存储会员登录密码phone :存储会员会员的电话email :存储会员的email地址message :存储会员的简历pic :存储会员照
3、片文件的名字3.页面管理所有的页面将包括一个导航条,该导航条由注册、登录、上传照片、浏览会员、修改密码、修改个人信息组成。为了便于维护,其它页面通过使用JSP的标记将导航条文件:head.txt嵌入自己的页面,head.txt保存在mkfriend的WebRoot下面。head.txt的内容如下:CENTERFont size=5P网络交友/CENTERtable cellSpacing=1 cellPadding= width=560 align=center border=0 tdA href=register.jspfont size=2会员注册/A/tdlogin.jsp会员登录upl
4、oad.jsp上传照片choiceLookType.jsp浏览会员inputModifyMess.jsp 修改注册信息modifyPassword.jsp修改密码helpExitLogin退出登录index.jsp返回主页/table主页index.jsp由导航条、一个欢迎语和一幅图片welcome.jpg组成,welcome.jpg保存在mkfriend中。用户可以通过在浏览器的地址栏中键入“http:/服务器IP:8080/index.jsp”或“http:8080/”访问该主页,主页运行效果下图:index.jspHEAD% include file=head.txt/HEADHTMLB
5、ODY bgcolor=cyan h1Font Size=4 color=red欢迎您来这里结交朋友image src=welcome.jpg width=300 height=200 /image/BODY/HTML2JavaBean与servlet管理本系统的JavaBean类的包名均为mybean.data;Servlet类的包名均为myservlet.control。3配置文件web.xml?xml version=1.0 encoding=ISO-8859-1 ?web-appservletservlet-nameregisterservlet-classmyservlet.cont
6、rol.HandleRegister/servletservlet-mappingurl-pattern/helpRegister/servlet-mappingloginmyservlet.control.HandleLogin/helpLoginuploadmyservlet.control.HandleUpload/helpUploadlookRecordmyservlet.control.HandleDatabase/helpShowMembermodifyPasswordmyservlet.control.HandlePassword/helpModifyPasswordmodify
7、OldMessmyservlet.control.HandleModifyMess/helpModifyMessexitmyservlet.control.HandleExit/helpExitLogin4.会员注册当新会员注册时,该模块要求用户必须输入会员名、密码信息,否则不允许注册。用户的注册信息被存入数据库的member表中。该模块的模型Javabean描述用户的注册信息;该模块视图部分由两个JSP页面构成,一个JSP页面负责提交用户的注册信息到控制器,另一个JSP页面负责显示注册是否成功的信息;该模块的控制器servlet负责将视图提交的信息写入数据库的member表中,并负责更新视图
8、。5.会员登录用户可在该模块输入自己的会员名和密码,系统将对会员名和密码进行验证,如果输入用户名或密码有错误,将提示用户输入的用户名或密码不正确。该模块的模型Javabean描述用户登录的信息;该模块视图部分由两个JSP页面构成,一个JSP页面负责提交用户的登录信息到控制器,另一个JSP页面负责显示登录是否成功的信息;该模块的控制器servlet负责验证会员名和密码是否正确,并负责更新视图。6.上传照片用户可在该模块上传自己的照片。如果member中已经存有一幅照片,新上传的照片将替换原有的照片。用户在注册时,注册模块给会员的照片是默认的一幅图像:public.jpg。该模块的模型Javabe
9、an描述用户上传的照片图像文件的有关信息;该模块视图部分由两个JSP页面构成,一个JSP页面负责提交图像文件到控制器,另一个JSP页面负责显示上传操作是否成功的信息;该模块的控制器负责将图像文件上传到服务器、将图像文件的名字写入数据库的member表中,必要时还需删除用户曾上传的图像文件;该servlet还负责更新视图,使用户能看到上传操作的结果。另外,控制器能阻止未登录用户上传照片。7.浏览会员信息该模块负责分页显示注册会员的信息,包括会员名、广告标题广告照片等,同时提供查找功能,即用户可以查找某个会员的信息。该模块的模型Javabean分别描述会员信息和分页信息;该模块视图部分由三个JSP
10、页面构成,一个JSP页面负责提交用户浏览会员信息的方式:分页浏览全部会员信息、浏览特定会员信息,另外两个JSP页面分别负责分页显示全体会员信息和显示特定会员信息息;该模块的控制器servlet使用doPost方法查询数据库member表中的全部记录,并对记录进行分页处理,使用doGet方法查询数据库member表中特定的记录。另外,控制器能阻止未登录用户浏览和查询会员信息。8.修改密码登录的用户可在该模块修改密码。该模块的模型Javabean描述密码的有关信息。该模块视图部分由两个JSP页面构成,一个JSP页面负责提交用户的新旧密码到控制器,另一个JSP页面负责显示修改是否成功的信息。该模块的
11、控制器servlet负责修改密码。9.修改注册信息用户可在该模块修改曾注册的个人信息。该模块的模型Javabean描述用户修改的信息;该模块视图部分由两个JSP页面构成,第一个页面负责提交用户的修改信息到控制器,第二个JSP页面负责显示修改是否成功的信息。该模块的控制器负责修改曾注册的信息,并能阻止未登录用户使用该模块。10.退出登录该模块只有一个名字为exit的servlet控制器,exit负责销毁用户的session对象,导致登录失效。四、实验过程与分析实验结果:1. index.jsp2.会员注册(1)视图(JSP页面)本模块视图由两个JSP页面:Register.jsp和showReg
12、isterMess.jsp。Register.jsp页面负责提供输入注册信息界面;showRegisterMess.jsp负责显示注册反馈信息,比如注册是否成功等。(2)控制器(servlet)控制器servlet对象的名字是register(见web.xml配置文件)。控制器register负责连接数据库,将用户提交的信息写入到member表,并将用户转发到showRegisterMess.jsp页面查看注册反馈信息。3.会员登录login.jsp和showLoginMess.jsp。login.jsp页面负责提供输入登录信息界面;showLoginMess.jsp负责显示登录反馈信息,比如
13、登录是否成功等。该servlet对象的名字是login(见web.xml配置文件)。控制器login负责连接数据库,查询member表,验证用户输入的会员名和密码是否在member表中,并将用户转发到showRegisterMess.jsp页面查看登录反馈信息。4.上传照片upload.jsp和showUploadMess.jsp。upload.jsp页面负责提供上传文件的表单;showUploadMess.jsp负责显示上传文件的反馈信息。该servlet对象的名字是upload(见web.xml配置文件)。upload控制器负责检查用户是否是登录用户,如果用户没有登录,upload控制器将
14、把用户定向到登录页面login.jsp;对于登录的用户,upload控制器负责把用户提交的图像文件保存到当前Web服务目录的特定子目录image中。保存的图像文件名字是在用户上传的文件名字前面添加上用户的会员名。upload控制器同时负责将保存的图像文件名存入member表,然后将用户转发到showUploadMess.jsp页面查看上传操作的反馈信息。5.浏览会员信息本模块视图由三个JSP页面:choiceLookType.jsp、showAllMember.jsp和showLookedMember.jsp。choiceLookType.jsp负责将浏览会员的方式提交给控制器,showAll
15、Member.jsp负责分页显示全体会员的信息,showLookedMember.jsp负责显示被查找的会员的信息。该模块控制器的名字是lookRecord(见web.xml配置文件)。lookRecord使用doPost方法查询数据库member表中的全部记录,并对记录进行分页处理,使用doGet方法查询数据库member表中特定的记录。另外,控制器lookRecord能阻止未登录用户浏览和查询会员信息。6.修改密码modifyPassword.jsp和showNewPasswor.jsp。modifyPassword.jsp页面负责提供输入密码界面;showNewPasswor.jsp负责
16、显示修改密码的反馈信息。控制器负责连接数据库,根据当前用户注册的会员名修改member表中该会员的password字段的值,并转发修改信息到showModifyMess.jsp页面。另外,控制器能阻止未登录用户浏览进行修改密码操作。7.修改注册信息inputModifyMess.jsp和showModifyMess.jsp。inputModifyMess.jsp页面负责提供修改信息界面,showModifyMess.jsp负责显示修改反馈信息。该servlet对象的名字是:modifyOldMess(见web.xml配置文件)。modifyOldMess负责连接数据库,将用户提交的新的信息写入
17、到member表,并将用户转发到showModifyMess.jsp页面查看修改反馈信息。8.退出登录控制器(servlet)HandleExit.javapackage myservlet.control;import mybean.data.*;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class HandleExit extends HttpServlet public void init(ServletConfig config) throws ServletException
18、super.init(config); public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException HttpSession session=request.getSession(true); Login login=(Login)session.getAttribute(login); boolean ok=true; if(login=null) ok=false; response.sendRedirect( if(ok=tru
19、e) continueDoPost(request,response); public void continueDoPost(HttpServletRequest request,HttpServletResponse response) HttpSession session=request.getSession(true); session.invalidate(); /销毁用户的session对象 /返回主页 public void doGet(HttpServletRequest request,HttpServletResponse response) doPost(request
20、,response);五、实验总结1.MVC是软件开发过程中比较流行的设计思想。在了解MVC之前,首先要明确一点,MVC是一种设计模式(设计思想),不是一种变成技术。2.在Web开发中,MVC思想的核心概念如下:M(model),封装应用程序的数据结构和事务逻辑,集中体现应用程序的状态,当数据状态改变的时候,能够在试图里面体现出来。Javabean非常适合这个角色。V(view),是model的外在表现,模型状态改变时,有所体现。JSP非常适合这个角色。C(controller),对用户的输入进行相应,将模型和视图联系到一起,负责将数据写到模型中,并调用视图。Servlet非常适合这个角色。3
21、.MVC的思想步骤如下:(1)用户在表单中输入,表单提交给servlet,servlet验证输入,然后实例化JavaBean。(2)JavaBean查询数据库,查询结果暂存在JavaBean中。(3)servlet跳转到JSP,JSP使用JavaBean,得到它里面的查询结果,并显示出来。MVC模式非常重要,是以后学习struts等框架的基础。4.在软件的开发中,有一个原则一直被参照着,那就是解耦。它的目的是使各个模块之间的独立性越来越强,一个模块的变换不会对另一模块产生很大的影响。MVC模式很好地做到了解耦。它使代码和页面分离,数据库操作与servlet操作分开,这样能够方便开发和以后的维护。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1