MVC模式的会员管理系统.pdf
.政法学院政法学院本科生实验报告本科生实验报告三三:学院:信息工程学院专业:计算机科学与技术班级:实验课程名称:JavaEE实验日期:2021 年 11 月日指导教师及职称:实验成绩:开课时间:2021 学年第一 学期政法学院实验管理中心印制.word.zl.实验题目MVC 模式的会员管理系统班级小组合作否学号一、实验目的1.掌握一般 Web 应用中常用根本模块的开发方法和流程。2.掌握 MVCJSP+JavaBean+Servlet开发模式在实际 Web 应用开发中的用法。二实验环境.word.zl.计算机,MyEclipse,Tomcat6.0三、实验容与步骤1.系统模块构成1会员注册:新会员填写表单,包括会员名、 Email 地址等信息。如果输入的会员名已经被其他用户注册使用,系统提示新用户更改自己的会员名。会员登录:输入会员名、密码。如果用户输入的会员名或密码有错误,系统将显示错误信息。2上传照片:如果登录成功,用户可以使用该模块上传自己的照片。浏览会员: 成功登录的会员可以分页浏览其他会员的信息, 比方其他会员的简历、照片等。如果用户直接进入该页面或没有成功登录就进入该页面,将被到“会员登录页面。3修改密码:成功登录的会员可以在该页面修改自己的登录密码,如果用户直接进入该页面或没有成功登录就进入该页面,将被到“会员登录页面。改注册信息:成功登录的会员可以在该页面修改自己的注册信息,比方联系、通信地址等,如果用户直接进入该页面或没有成功登录就进入该页面,将被到“会员登录页面。4退出登录:成功登录的用户可以使用该模块退出登录。2.数据库设计.word.zl.使用或 ACCESS 建立一个数据库 MakeFriend,该库有一个表:member 表。会员的注册信息存入 member 表中,member 表的主键是 logname,各个字段值的说明如下:logname :存储会员登录名字password :存储会员登录密码phone :存储会员会员的email :存储会员的 email 地址message:存储会员的简历pic :存储会员照片文件的名字3.页面管理所有的页面将包括一个导航条,该导航条由注册、登录、上传照片、浏览会员、修改密码、修改个人信息组成。为了便于维护,其它页面通过使用JSP 的标记将导航条文件: head.txt 嵌入自己的页面, head.txt 保存在mkfriend的 WebRoot 下面。head.txt 的容如下:网络交友会员注册会员登录上传照片.word.zl.浏览会员 修 改 注 册 信 息修改密码退出登录返回主页主页 index.jsp 由导航条、一个欢送语和一幅图片 wele.jpg 组成,wele.jpg 保存在mkfriend 中。用户可以通过在浏览器的地址栏中键入“效劳器 IP:8080/index.jsp或“效劳器IP:8080/访问该主页,主页运行效果下列图:.word.zl.index.jsp欢送您来这里结交朋友2JavaBean 与 servlet 管理本 系 统 的 JavaBean 类 的 包 名 均 为 mybean.data ; Servlet 类 的 包 名 均 为myservlet.control。.word.zl.3配置文件web.xmlregistermyservlet.control.HandleRegisterregister/helpRegisterloginmyservlet.control.HandleLoginlogin/helpLoginupload.word.zl.myservlet.control.HandleUploadupload/helpUploadlookRecordmyservlet.control.HandleDatabaselookRecord/helpShowMembermodifyPasswordmyservlet.control.HandlePasswordmodifyPassword/helpModifyPassword.word.zl.modifyOldMessmyservlet.control.HandleModifyMessmodifyOldMess/helpModifyMessexitmyservlet.control.HandleExitexit/helpExitLogin4.会员注册当新会员注册时,该模块要求用户必须输入会员名、密码信息,否那么不允许注册。用户的注册信息被存入数据库的 member 表中。该模块的模型 Javabean 描述用户的注册信息; 该模块视图局部由两个 JSP 页面构成,一个JSP 页面负责提交用户的注册信息到控制器,另一个JSP 页面负责显示.word.zl.注册是否成功的信息; 该模块的控制器 servlet 负责将视图提交的信息写入数据库的 member 表中,并负责更新视图。5.会员登录用户可在该模块输入自己的会员名和密码,系统将对会员名和密码进展验证,如果输入用户名或密码有错误,将提示用户输入的用户名或密码不正确。该模块的模型 Javabean 描述用户登录的信息; 该模块视图局部由两个 JSP 页面构成,一个JSP 页面负责提交用户的登录信息到控制器,另一个JSP 页面负责显示登录是否成功的信息;该模块的控制器 servlet 负责验证会员名和密码是否正确,并负责更新视图。6.上传照片用户可在该模块上传自己的照片。如果member 中已经存有一幅照片,新上传的照片将替换原有的照片。用户在注册时, 注册模块给会员的照片是默认的一幅图像:public.jpg。该模块的模型 Javabean 描述用户上传的照片图像文件的有关信息; 该模块视图局部由两个 JSP 页面构成,一个 JSP 页面负责提交图像文件到控制器,另一个 JSP页面负责显示上传操作是否成功的信息; 该模块的控制器负责将图像文件上传到效劳器、将图像文件的名字写入数据库的 member 表中,必要时还需删除用户曾上传的图像文件;该 servlet 还负责更新视图,使用户能看到上传操作的结果。另外,控制器能阻止未登录用户上传照片。7.浏览会员信息该模块负责分页显示注册会员的信息,包括会员名、广告标题广告照片等,同时提供查找功能,即用户可以查找某个会员的信息。.word.zl.该模块的模型 Javabean 分别描述会员信息和分页信息;该模块视图局部由三个JSP 页面构成,一个 JSP 页面负责提交用户浏览会员信息的方式:分页浏览全部会员信息、浏览特定会员信息,另外两个 JSP 页面分别负责分页显示全体会员信息和显示特定会员信息息;该模块的控制器 servlet 使用 doPost 方法查询数据库member 表中的全部记录,并对记录进展分页处理,使用 doGet 方法查询数据库member 表中特定的记录。另外,控制器能阻止未登录用户浏览和查询会员信息。8.修改密码登录的用户可在该模块修改密码。该模块的模型 Javabean 描述密码的有关信息。该模块视图局部由两个 JSP 页面构成,一个 JSP 页面负责提交用户的新旧密码到控制器,另一个 JSP 页面负责显示修改是否成功的信息。该模块的控制器 servlet负责修改密码。9.修改注册信息用户可在该模块修改曾注册的个人信息。 该模块的模型 Javabean 描述用户修改的信息;该模块视图局部由两个 JSP 页面构成,第一个页面负责提交用户的修改信息到控制器,第二个 JSP 页面负责显示修改是否成功的信息。该模块的控制器负责修改曾注册的信息,并能阻止未登录用户使用该模块。10.退出登录该模块只有一个名字为 exit 的 servlet 控制器,exit 负责销毁用户的 session 对象,导致登录失效。四、实验过程与分析实验结果:1. index.jsp.word.zl.2.会员注册(1)视图JSP 页面本模块视图由两个 JSP 页面: Register.jsp 和 showRegisterMess.jsp。 Register.jsp 页面负责提供输入注册信息界面;showRegisterMess.jsp 负责显示注册反应信息,比方注册是否成功等。.word.zl.(2)控制器servlet控制器 servlet 对象的名字是 register见 web.xml 配置文件 。控制器 register 负责连接数据库,将用户提交的信息写入到 member 表,并将用户转发到showRegisterMess.jsp 页面查看注册反应信息。3.会员登录(1)视图JSP 页面本模块视图由两个 JSP 页面:login.jsp 和 showLoginMess.jsp。login.jsp 页面负责提供输入登录信息界面;showLoginMess.jsp 负责显示登录反应信息,比方登录是否成功等。.word.zl.(2)控制器servlet该 servlet 对象的名字是 login见 web.xml 配置文件 。控制器 login 负责连接数据库,查询 member 表,验证用户输入的会员名和密码是否在 member 表中,并将用户转发到 showRegisterMess.jsp 页面查看登录反应信息。4.上传照片(1)视图JSP 页面本模块视图由两个 JSP 页面:upload.jsp 和 showUploadMess.jsp。upload.jsp 页面负责提供上传文件的表单;showUploadMess.jsp 负责显示上传文件的反应信息。.word.zl.2控制器servlet该 servlet 对象的名字是 upload 见 web.xml 配置文件 。 upload 控制器负责检查用户是否是登录用户,如果用户没有登录,upload 控制器将把用户定向到登录页面login.jsp;对于登录的用户,upload 控制器负责把用户提交的图像文件保存到当前 Web 效劳目录的特定子目录 image 中。保存的图像文件名字是在用户上传的文件名字前面添加上用户的会员名。upload控制器同时负责将保存的图像文件名存入member 表,然后将用户转发到showUploadMess.jsp 页面查看上传操作的反应信息。5.浏览会员信息1视图JSP 页面本 模 块 视图 由 三个 JSP 页 面 : choiceLookType.jsp、 showAllMember.jsp 和showLookedMember.jsp。 choiceLookType.jsp负责将浏览会员的方式提交给控制器,showAllMember.jsp 负责分页显示全体会员的信息, showLookedMember.jsp 负责显示被查找的会员的信息。.word.zl.2控制器servlet该模块控制器的名字是 lookRecord 见 web.xml 配置文件 。 lookRecord 使用 doPost方法查询数据库 member 表中的全部记录,并对记录进展分页处理,使用 doGet方法查询数据库 member 表中特定的记录。另外,控制器lookRecord 能阻止未登录用户浏览和查询会员信息。6.修改密码1视图JSP 页面本模块视图由两个 JSP 页面:modifyPassword.jsp 和 showNewPasswor.jsp。modifyPassword.jsp 页面负责提供输入密码界面;showNewPasswor.jsp 负责显示修改密码的反应信息。.word.zl.2控制器servlet控制器负责连接数据库,根据当前用户注册的会员名修改member 表中该会员的password 字段的值,并转发修改信息到 showModifyMess.jsp 页面。另外,控制器能阻止未登录用户浏览进展修改密码操作。7.修改注册信息1视图JSP 页面本模块视图由两个 JSP 页面:inputModifyMess.jsp 和 showModifyMess.jsp。inputModifyMess.jsp 页面负责提供修改信息界面, showModifyMess.jsp 负责显示修改反应信息。.word.zl.2控制器servlet该 servlet 对象的名字是:modifyOldMess见 web.xml 配置文件 。modifyOldMess负责连接数据库,将用户提交的新的信息写入到 member 表,并将用户转发到showModifyMess.jsp 页面查看修改反应信息。8.退出登录控制器servletHandleExit.javapackage myservlet.control;import mybean.data.*;import java.io.*;import javax.servlet.*;.word.zl.import javax.servlet.*;public class HandleExit extendsServlet public void init(ServletConfig config) throws ServletExceptionsuper.init(config);publicvoiddoPost(ServletRequest request,ServletResponse response)throws ServletException,IOExceptionSession session=request.getSession(true);Login login=(Login)session.getAttribute(login);boolean ok=true;if(login=null)ok=false;response.sendRedirect(login.jsp);if(ok=true)continueDoPost(request,response);public void continueDoPost(ServletRequest request,ServletResponse.word.zl.response)throws ServletException,IOExceptionSession session=request.getSession(true);session.invalidate();/销毁用户的 session 对象response.sendRedirect(index.jsp); /返回主页publicvoiddoGet(ServletRequest request,ServletResponse response)throws ServletException,IOExceptiondoPost(request,response);五、实验总结1.MVC 是软件开发过程中比拟流行的设计思想。在了解MVC 之前,首先要明确一点,MVC 是一种设计模式设计思想 ,不是一种变成技术。2.在 Web 开发中,MVC 思想的核心概念如下:Mmodel ,封装应用程序的数据构造和事务逻辑,集中表达应用程序的状态,当数据状态改变的时候,能够在试图里面表达出来。Javabean 非常适合这个角色。Vview ,是 model 的外在表现,模型状态改变时,有所表达。JSP.word.zl.非常适合这个角色。Ccontroller ,对用户的输入进展相应,将模型和视图联系到一起,负责将数据写到模型中,并调用视图。Servlet 非常适合这个角色。3.MVC 的思想步骤如下:1用户在表单中输入,表单提交给servlet,servlet 验证输入,然后实例化 JavaBean。2JavaBean 查询数据库,查询结果暂存在 JavaBean 中。3servlet 跳转到 JSP,JSP 使用 JavaBean,得到它里面的查询结果,并显示出来。MVC 模式非常重要,是以后学习 struts 等框架的根底。4.在软件的开发中,有一个原那么一直被参照着,那就是解耦。它的目的是使各个模块之间的独立性越来越强, 一个模块的变换不会对另一模块产生很大的影响。MVC 模式很好地做到了解耦。它使代码和页面别离,数据库操作与 servlet 操作分开,这样能够方便开发和以后的维护。.word.zl.