基于Struts的NCRE网上报名系统的设计与实现

点赞:19126 浏览:83325 近期更新时间:2024-03-23 作者:网友分享原创网站原创

摘 要:基于B/S模式的NCRE网上报名系统可提高工作效率.研究了Struts框架的工作机制及流程.给出了NCRE网上报名系统的功能设计.阐述了基于Struts的报名系统的部分实现.最后给出了系统的开发平台并展示了运行效果.

关 键 词:网上报名;Struts框架;功能设计;系统实现

中图分类号:TP393文献标识码:A文章编号:1009-3044(2013)04-0709-03

DesignandImplementationofNCREOnlineRegistrationSystemBasedonStruts

GENGWei,WANGJing,WULei,ZHAOQiang

(XuzhouMedicalCollege,Xuzhou221004,China)

Abstract:NCREonlineregistrationsystembasedonB/Spatterncanimproveworkefficiency.TheworkmechaniandworkflowofStrutrameworkareresearched.ThefunctiondesignofNCREonlineregistrationsystemispresented.SomesystemimplementationsofNCREonlineregistrationbasedonStrutsarediscussed.Last,developmentplatformandrunningeffectareshown.

Keywords:onlineregistration;Strutramework;functiondesign;systemimplementation

全国计算机等级考试(NationalComputerRankExamination,简称NCRE)原有的考务系统采用C/S模式架构,使用其进行报名工作效率非常低下.当前,互联网技术已经非常普及.充分使用网络资源、改变先前的报名方式、采用网上报名,是更为高效的方式,也是发展趋势.

Ja技术由于其良好的可移植性和安全性得到了广泛的应用.在一个项目的开发中,利用框架技术可以提高软件开发的速度和效率,而且有利于软件后期的维护.基于Ja平台的Web框架有许多,如Struts、J、Struts2、Spring等.在这些框架中,Struts框架在JaWeb应用的开发中有相当大的用户群,成为受欢迎的JaWebMVC模式框架之一.

本文对Struts框架技术在Web应用开发中的工作机制及流程进行研究,并对其在NCRE网上报名系统中的设计与实现进行论述,为NCRE网上报名系统的设计与实现提供了一种解决方案.

1Struts框架工作机制及流程

Struts是一个基于MVC模式的JaWeb框架.MVC模式强制性地把应用程序的输入、处理和输出分开,把应用程序分成三个核心模块:模型、视图和控制器.在Struts框架中,模型由实现业务逻辑的JaBean或EJB组件构成,控制器由ActionServlet和Action来实现,视图由一组JSP文件构成.如图1所示.

图1Struts实现的MVC框架

基于Struts框架的Web应用在启动时就会加载并初始化ActionServlet,ActionServlet从struts-congif.xml文件中读取配置信息,把它们存放到各种配置对象中.当ActionServlet接收到一个客户请求时,将执行如下1~7流程.

1)检索和用户请求匹配的ActionMapping配置对象,如果不存在,就返回用户请求路径无效的信息.

2)如果ActionForm对象不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中.

3)根据配置信息决定是否需要表单验证.如果需要验证,就调用ActionForm的validate()方法.

4)如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActionErrors对象,就表示表单验证成功,执行5、6、7三步.如果ActionForm的validate()方法是返回一个包含一个或多个ActionMessage的ActionErrors对象,就表示表单验证失败,那么ActionServlet将直接把请求转发给包含用户提交表单的JSP组件.在这种情况下,不再执行5、6、7三步.


5)ActionServlet根据ActionMapping对象包含的映射信息决定将请求转发给哪个Action.如果相应的Action对象不存在,就先创建这个对象,然后调用Action的execute()方法.

6)Action的execute()方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指向的JSP组件.

7)ActionForward对象指向的JSP组件生成动态网页,返回给客户.

2系统功能设计

原有的考务系统基于C/S模式.其报名的方式是让所有学生到现场进行照片的采集和报名信息录入.采用这种方式进行报名非常耗时,从而造成报名现场排起长队进行等待的现象.针对上述的问题,对NCRE的网上报名系统提出以下设计思想:使用B/S模式应用进行报名.将报名的过程分为网上预报名和信息确认两个阶段.在网上预报名阶段,让分散在各处的考生提前将自己的报名信息通过互联网录入报名系统中.在信息确认阶段,考生集中到指定地点进行交费、信息核对、领取报名回执等.

基于Struts的NCRE网上报名系统的设计与实现参考属性评定
有关论文范文主题研究: 关于系统的论文范文文献 大学生适用: 学院论文、在职论文
相关参考文献下载数量: 33 写作解决问题: 写作技巧
毕业论文开题报告: 标准论文格式、论文结论 职称论文适用: 期刊目录、高级职称
所属大学生专业类别: 写作技巧 论文题目推荐度: 优质选题

总体上,NCRE网上报名系统的功能分为考生和考务两大模块,从功能上分为:预报名、信息确认以及系统管理.具体功能见图2所示的NCRE网上报名系统功能图.

图2NCRE网上报名系统功能图

3系统实现

3.1页面布局

一个应用系统的各页面最好具有统一的风格布局.NCRE网上报名系统采用如图3所示的网页布局.header区域为页头区,footer区域为页脚区,sidebar区域为功能菜单区,content区域为内容区.

图3网页布局示意图

基于以上布局的页面,其header和footer两个区域的内容基本不变化,变化最多的是content区中的内容.为简少HTML页面代码的重复使用,本系统的页面设计使用了Struts的Tiles子框架.Tiles是功能强大的JSP模板框架,它能够简少HTML页面代码的重复使用.使用Tiles可以将JSP页面分解为单个“Tiles”或部分,然后可将各部分粘合在一起创建一个组合页面.Tiles框架将网页的布局和内容分离,为Web页面的创建提供了一种模板机制,允许先创建模板,然后在运行时动态地将内容插入到模板中.

本系统中使用的布局文件为layout.jsp,使用表格来对header、footer、sidebar和content四个区域进行页面布局.在页面相应的各表格代码中,分别使用形如的标签进行占位.在tiles-defs.xml文件中进行各区域文件的定义.以下代码是用户登录页面的定义.

3.2表单数据验证

NCRE的报名对考生报名信息各字段有着明确的要求.如:姓名、号、性别、出生时期、报考语言级别等字段不能为空,且各信息之间在逻辑上要一致,如出生日期字段要与号中的日期相一致.Struts提供了完善的表单数据验证功能.当用户提交了HTML表单,Struts框架将自动把表单数据组装到ActionFormBean中,ActionFormBean中的属性和HTML表单中的字段一一对应,然后运行ActionFormBean中的数据验证方法validate().以下示例代码为报名注册页面中用于验证姓名字段是否为空以及是否含有半角或全角空格.

publicActionErrorsvalidate(ActionMappingmapping,

HttpServletRequestrequest){

ActionErrorserrors等于newActionErrors();

if(this.name等于等于null||"".equals(this.name))

errors.add("name",newActionMessage("name.null"));

if(this.name.indexOf("")!等于-1||this.xm.indexOf("")!等于-1){

errors.add("name.space",newActionMessage("name.space"));

returnerrors;}

本系统在设计时对各表单信息的验证进行了周全的考虑,使信息在进入业务逻辑层之前就得以验证,保证了存入数据库中数据的正确性,让系统运行得更加稳健.

3.3业务处理

业务流程方面.NCRE网上报名系统业务流程设计的合理与否直接影响报名工作的效率.为此,在系统业务的流程进行了以下设计:一、考生先在网上预报名,得到一个注册号;二、考生到缴费点进行交费,取得一个收据号(收据单);三、考生到信息确认点进行缴费与信息确认,取得一个报名号(报名回执单),至此报名成功.

业务数据安全方面.为了保证数据的安全,系统采用了对用户可指定角色权限的设计.如:照片处理角色可进行照片的上传与管理,信息确认角色可进行信息的确认,查询角色只能进行信息的查询.以上设计可让工作人员做到权责明晰.此外,系统还可以指定IP,只有指定IP地址的机器才能进行信息确认工作.这些设计大大增强了系统关键数据的安全性和有效性.

本系统中,表单数据经过验证后进入业务逻辑处理层进行处理.尽管JSP页面中可以嵌入Ja代码进行业务逻辑的处理,但这样会系统结构凌乱.系统中所有的业务逻辑处量均通过Action进入.对于简单的业务逻辑,其处理代码直接写在Action类的execute()方法中;复杂的业务逻辑则写在独立的JaBean中,需要时在execute()方法中进行实例化调用.

3.4开发平台与运行效果展示

开发平台:JDK6,集成开发环境:MyEclipse5.1,JaWeb怎么写作器:ApacheTomcat5.系统运行效果截图见图4.

5结束语

全国计算等级考试原有报名系统模块存在报名效率低下的问题,所以本文提出了解决问题的方案:开发并运用基于B/S模式的网上报名系统.该文所展示的基于Struts的NCRE网上报名系统,已经多次应用到考点的报名工作中,该系统使用后,较以前的工作方式效率得到了极大的提高,系统运行稳健.所以,在此探讨Struts的工作机理、阐述NCRE网上报名系统的设计及其部分实现,以期给全国计算机等级考试的工作者们一些参考.