第11章网上报名系统开发案例_第1页
第11章网上报名系统开发案例_第2页
第11章网上报名系统开发案例_第3页
第11章网上报名系统开发案例_第4页
第11章网上报名系统开发案例_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、理解并掌握MVC模式;掌握实体层、业务逻辑层和数据库访问层的实现技术;掌握JSP在Web应用开发中的实用编程技术。项目开发平台:开发工具为Myeclipse6.0,JSP引擎为Tomcat6.0,JDK版本为JavaSE6.0,数据库为MYSQL5.0。11.1 网上报名系统设计网上报名系统设计11.2 数据库设计及实现数据库设计及实现11.3 网上报名系统配置网上报名系统配置11.4 三层架构设计与实现三层架构设计与实现11.5 考生报名模块考生报名模块11.6 考生登录模块考生登录模块11.7 上传照片模块上传照片模块11.8 浏览信息模块浏览信息模块11.9 修改密码模块修改密码模块11

2、.10 修改报名信息模块修改报名信息模块11.11 注销考试模块注销考试模块11.12 退出登录与返回主页模块退出登录与返回主页模块一、网上报名系统的开发意义:一、网上报名系统的开发意义:通过互联网完成考试报名,可以方便考生报考,有效地提高报名信息的准确性、实效性。二、项目来源:二、项目来源:“职称计算机考试网上报名系统”项目实例是根据某省职称计算机报名考试系统需求而开发的项目实例。三、项目开发技术与目的:该实例采用MVC模式示范JSP+JavaBean+Servlet开发技术;展示数据增、删、改、查等基本操作的编程技术,为后期基于框架技术Stuts2+Hibernate+Spring开发奠定

3、理论和技术基础。11.1.1 需求分析需求分析职称计算机网上报名系统,是收集、管理考生信息的一个平台,主要包括考生报名、登录、信息修改、上传照片、浏览信息、注销等功能。网上报名系统完成的主要任务如下:(1)考生报名:考生填写报名表,包括考生身份证号、考生姓名、工作单位、单位地址、联系电话、报考类别、Email地址、备注等信息。系统提供对填写信息的有效性检查。(2)考生登录:完成已报名考生身份的验证任务。通过验证的考生才能有权限使用上传照片、浏览信息、修改密码、修改信息、注销考试功能。11.1.1 需求分析需求分析(3)上传照片:登录后上传考生照片文件,实现照片与考生身份证号的一一对应。(4)浏

4、览信息:考生登录后,可浏览自己的详细信息和其他考生的报考信息,但不能查看其他考生的密码。(5)修改密码:考生成功登录后可以修改自己的密码。(6)修改信息:考生登录后,考生可对除身份证号、密码以外的个人信息进行修改。(7)注销考试:成功登录的考生可以注销考试,也就是取消这次考试报名。11.1.1 需求分需求分析析网上报名系统网上报名系统case图图11.1.2 总体设计总体设计根据网上考试报名系统的需求分析,可以将网上报名系统划分为9个模块,考生报名、考生登录、上传照片、浏览信息、修改密码、注销考试、退出登录、返回主页等模块。网上报名系统上传照片、修改信息、浏览信息、修改密码模块是平行的,考生登

5、录以后可以进行这些模块的操作。注销报考后,自动退出报名系统,失去对平行模块的操作权限。11.1.3 功能设计与系统组成功能设计与系统组成1.模块功能设计模块功能设计(1)考生报名模块:考生填写报名表,包括考生身份证号、考生姓名、工作单位、单位地址、联系电话、报考类别、Email地址、备注等信息。系统对身份证号、密码、电子邮件地址进行有效性检查,对没有通过有效性检查的数据,提示用户更正。对考生性别和报考级别限定考生输入,性别限定为“男”或“女”,报考级别限定为“高级”或“中级”。11.1.3 功能设计与系统组成功能设计与系统组成1.模块功能设计模块功能设计(2)考生登录模块:输入考生身份证号、密

6、码登录系统。身份证号和密码正确,则进入系统,可进行浏览信息、上传照片、修改报考信息等操作。如果用户输入的身份证号或密码错误,系统将显示错误信息。(3上传照片模块:成功登录的考生可以使用该模块上传考生照片。如果上传成功,系统将显示上传文件名称、服务器端的文件保存名称,并在页面上显示上传照片。如果失败,则显示错误信息。如果考生未登录,系统将跳转到考生登录页面。11.1.3 功能设计与系统组成功能设计与系统组成1.模块功能设计模块功能设计(4)浏览信息模块:成功登录的考生可以使用该模块浏览自己的报名信息,也可以按身份证号浏览其他考生的详细信息,还可以分页浏览所有考生的部分信息(其他考生的密码信息不显

7、示)。如果用户未登录直接进入该页面,系统则跳转到考生登录页面。(5)修改密码模块:成功登录的用户,可以使用该模块修改自己的密码。修改密码必修输入原密码,原密码与新密码不能相同,新密码不能为空。如果用户未登录直接进入该模块,系统将跳转到登录页面。11.1.3 功能设计与系统组成功能设计与系统组成1.模块功能设计模块功能设计(6)修改信息模块:成功登录的考生可以使用该模块修改报名信息,例如考生姓名、性别、工作单位等信息,但不能修改考生身份证号。系统对电子邮件等信息进行有效性检查。如果用户未登录直接使用该模块,系统将跳转到登录页面。(7)注销考试模块:成功登录的考生可以使用该模块注销报名信息。执行此

8、操作需要用户再次输入登录密码,系统验证密码通过后将彻底删除考生报名信息,并显示操作结果。11.1.3 功能设计与系统组成功能设计与系统组成用户在开发自己的Web应用系统时,要注意模块名称要符合命名规范,可以使用英文,也可以使用汉语拼音,不管用英文还是汉语拼音都要尽量简明知意,一般名称包含类型和功能的含义。11.2.1 数据库设计数据库设计11.2.2 数据库实现数据库实现1.创建数据库创建数据库(1)创建dataExam数据库:E:mysqlbin mysql uroot mysql-create database dataExam;(2)切换到dataExam数据库:mysql-use da

9、taExam(3)创建examinee表:2.插入示例数据插入示例数据插入示例数据的SQL语句如下:insert into examinee ( id, name, sex, company, address, phone, email, password, memo, examtype, pic) value 杨里海,男,大学,北京市海淀区 , yang,高校教学人员,高级JPG);系统文件目录结构如图设置E:programjspch11ch11WebRoot为虚拟目录,在节中加入,内

10、容如下: 页面管理页面管理所有页面的最上面是一个标题和广告,左侧是一列导航链接,下面是一个页脚。导航链接由考生报名、考生登录、上传照片、浏览信息、修改密码、修改信息、注销考试、退出登录、返回主页组成。所有页面布局采用分层技术,使用标签,将整个页面分为标题区(header)、左侧导航链接(sidebar1)、主内容区(mainContent)、页脚区(clearfloat),为了便于维护页面,页面通过使用JSP的标记将标题文件head.txt、左侧导航链接文件left.txt、页脚文件footer.txt嵌入其中。为了统一页面风格,页面使用了css样式表mystylesheet.css,页面通过

11、使用应用定义的样式。页面效果三层架构设计,实体层、业务逻辑层、数据库访问层包名为myclass.bol、myclass.bll和myclass.dal包。11.4.1.实体层实体层 examinee类类11.4.2数据访问层数据访问层 配置连接池配置连接池 ResultSet rs = dba.query(sql); String currentDate = null; if (rs.next() currentDate = rs.getString(sysdate); return currentDate; catch (SQLException ex) System.out.println

12、(产生异常:at DBAccess.getSysDate(); ex.printStackTrace(); return null; finally dba.closeConnection(); prpSql=null; catch(Exception ne)ne.printStackTrace();System.out.println(ne.toString();return -1;finallydba.closeConnection();return result ;random2.close();random.close();f1.delete();flag=true;backMessa

13、ge=成功上传!;catch(Exception exp)System.out.println(uploadFileMethod+exp.toString();backMessage=+exp;flag=false;return flag; public int deleteExmineeByID(String examID)examineeDal examdal=new examineeDal();int result=0; if(examID=null) result=-2; if(examID.length()0) result=examdal.deleteExmineeByID(exa

14、mID); return result; this.setUploadFileName(upFile.getUploadFileName(); this.setSavedFileName(upFile.getSaveFileName(); catch(Exception exp) flag=false; backMessage=上传文件失败; this.setUploadFileName(); this.setSavedFileName(); return flag; 11.5.1 模型(模型(JavaBean)public String getMemo() return memo;publi

15、c void setMemo(String memo) this.memo = memo;public String getBackMessage() return backMessage;public void setBackMessage(String backMessage) this.backMessage = backMessage;11.5.2 视图视图 if(form1.password.value=) alert(密码不能为空!); form1.password.focus(); return false; var txt=document.form1.email.value;

16、 if(txt.search(w-+(.w-+)*w-+(.w-+)+$)!=0) alert(请输入正确的电子邮件地址); document.form1.email.select(); return false; 11.5.2 视图视图check.js文件(JavaScript程序)check.js文件存储在E:programjspch11ch11webrootjs文件夹中,文件内容如下: function check() var txtid=document.form1.examID.value; if(txtid.search(A-Za-z0-9+$)!=0 ) alert(请输入正确的

17、身份证号); form1.examID.focus(); return false; if(form1.password.value=) alert(密码不能为空!); form1.password.focus(); return false; 11.5.2 视图视图showMessage.jsp页面代码:11.5.3 控制器控制器RequestDispatcher dispatcher=request.getRequestDispatcher(showRegisterMess.jsp); /页面跳转dispatcher.forward(request, response);public vo

18、id doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException doPost(request,response);考生可在该模块输入自己的身份证号和密码登录,系统对身份证号和密码进行验证,通过验证的用户将进入系统,如果输入的身份证号或密码错误,将提示用户身份证号或密码错误。该模块的模型JavaBean描述考生的登录信息,视图分两部分,login.jsp页面负责提交考生的登录信息到控制器,showLoginMess.jsp页面负责显示考生登录是否成功的信息。

19、该模块的控制器Servlet负责调用examineeBll对象验证考生登录信息是否正确,并更新视图。this.password = password;public String getBackMessage() return backMessage;public void setBackMessage(String backMessage) this.backMessage = backMessage;public boolean isSuccess() return success;public void setSuccess(boolean success) this.success =

20、success; 登录考生身份证号: 登录使用的密码为: 配置片段: login myservlet.controls.HandleLogin login /helpLoginHandleLogin.java的源代码如下:package myservlet.controls;import mybean.data.*;import java.io.*;import myclass.bll.*;import javax.servlet.*;import javax.servlet.http.*;this.fileName = fileName;public String getSavedFileN

21、ame() return savedFileName;public void setSavedFileName(String savedFileName) this.savedFileName = savedFileName;public String getBackMessage() return backMessage;public void setBackMessage(String backMessage) this.backMessage = backMessage;uploadpic.jsp页面效果如图11. 10所示。 图11. 10 上传文件页面页面代码:catch(Excep

22、tion exp)backMessage=+exp;upFile.setBackMessage(backMessage);RequestDispatcher dispatcher=request.getRequestDispatcher(showUploadMess.jsp);dispatcher.forward(request, response);public void doGet(HttpServletRequest request,HttpServletResponseresponse) throws ServletException,IOExceptiondoPost(request

23、,response);public StringBuffer getPresentPageResult() return presentPageResult;public void setPresentPageResult(StringBuffer presentPageResult) this.presentPageResult = presentPageResult;public String getBackMessage() return backMessage;public void setBackMessage(String backMessage) this.backMessage

24、 = backMessage;method=post输入页码: 图11. 14 分页显示页面效果 /System.out.println(执行到这里page=+page);catch(Exception exp)/System.out.println(执行到这里page=+page); return str;return str;public void doGet(HttpServletRequest request,HttpServletResponseresponse) throws ServletException,IOExceptiondoPost(request,response);

25、 property=backMessage / 您的旧密码: 您的新密码: this.oldPassword = oldPassword;public String getNewPassword() return newPassword;public void setNewPassword(String newPassword) this.newPassword = newPassword;public String getBackMessage() return backMessage;public void setBackMessage(String backMessage) this.b

26、ackMessage = backMessage;pwd.setBackMessage(更新成功!);pwd.setNewPassword(newPassword);pwd.setOldPassword(oldPassword);RequestDispatcher dispatcher=request.getRequestDispatcher(showModifyPassword.jsp);dispatcher.forward(request, response);public void doGet(HttpServletRequest request,HttpServletResponse

27、response)throws ServletException,IOExceptiondoPost(request,response); 考试类别: 备 注: this.examType = examType;public String getMemo() return memo;public void setMemo(String memo) this.memo = memo;public String getBackMessage() return backMessage;public void setBackMessage(String backMessage) this.backMe

28、ssage = backMessage;改!);else modify.setBackMessage(信息修改失败!);RequestDispatcher dispatcher=request.getRequestDispatcher(showModifyMessage.jsp);dispatcher.forward(request, response);public void doGet(HttpServletRequest request,HttpServletResponseresponse) throws ServletException,IOExceptiondoPost(request,response); 考生:已经删除 考生:未删除 this.backMessage = backMessage;public String g

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论