APP下载

基于J2EE架构的网上考试报名系统的设计与实现

2010-08-13宁莹莹

网络安全技术与应用 2010年5期
关键词:页面密码逻辑

宁莹莹

大连职业技术学院基础部 辽宁 116035

0 前言

随着计算机网络技术的迅猛发展,教育信息化的趋势逐步深入,基于网络的考试报名系统在各类考试中的应用也日趋广泛,成为人们研究的热点之一。而当前随着我国教育事业飞速发展,各类考试规模不断壮大,报名系统访问量不断增大,对系统的开发提出了更高的要求。因此,挖掘各类考试共性,开发一套扩充性好,易更新,通用性强的网上报名系统有着重要的应用价值。

1 系统的体系结构及其核心技术

本系统采用基于J2EE和MVC设计模式的多层B/S架构,如图1所示,它把每种不同的服务部署在一个独立的层。各层结构解释如下:

(1)客户层:运行在客户机上的是客户层组件,即Web浏览器。由Web浏览器向表示层,即Web服务器提出服务请求,通过验证以后从Web服务器中下载Web层中JSP或Servlet等程序动态生成的HTML页面,并把它显示在Web浏览器上。

(2)表示层:将用户的输入发送给运行在业务层的EJB来进行处理。

(3)业务层:主要用来处理业务逻辑,是整个应用的核心部分。在业务逻辑层中的EJB封装了与Hibernate的交互关系。根据客户请求,由Hibernate实现通过JDBC访问数据库进行计算,所有的计算复杂性都对客户层进行屏蔽。

(4)数据层:数据层分布于系统中的数据库服务器上,它存储着考试报名管理系统中的用户角色信息以及包括用户权限等控制信息,如考生信息、管理员信息、考点信息等。

图1 J2EE的多层B/S模式示意图

2 网上考试报名管理系统的设计及实现

2.1 系统开发平台

系统以辽宁省高校教师岗前培训考试网上报名的实际应用开发为例。通过对辽宁省高校教师岗前培训考试的报名工作进行了细致的调研,与考务工作人员进行了深入的沟通,为增加系统的吞吐量,提高并发处理的客户请求数量,系统硬件平台:采用了专业的Web服务器Pentium Ⅳ 3000MHz CPU/2G内存作为主机;客户端机器硬件为PentiumⅡ500MHz CPU/256M内存。系统软件平台:各终端采用Windows操作系统为平台,使用 IE6.0以上浏览器;Web服务器端选用Windows NT Server为网络操作系统,选用Tomcat 5.0作为Web服务器软件;选用SQL Server 2000作为数据库管理系统。Web表示层采用Struts实现MVC (Model-View-Controller)设计模式;持久化逻辑采用Hibernate实现。

2.2 系统功能描述

采用UML统一建模语言确定本系统的功能模块,如图2所示。根据不同的权限级别,系统确定了与网上报名工作相关的四个用户角色:主管部门(辽宁师范大学)、考点管理员(各现场报名点)、考生和系统管理员用户,不同的用户拥有不同的用户名及密码,不同的用户角色拥有不同的权限,实现不同的功能。

在本模块中系统管理员可以实现对数据库中数据的备份和恢复,开启和关闭考生的注册状态,并通过换届开启下一次考试报名。在系统管理员开启注册后,省内各地考生就可以在网上填写、提交本人的信息,进行注册。系统管理员将注册的考生信息及其它用户信息加入到系统数据库中,之后用户就可以登录使用系统。根据登录的不同身份,分配给用户相应的权限,同时也获得用户的权限属性值,采用触发的监控方式,用户进行操作该监控系统就立即激活,来判断用户是否有权限进行此操作。

图2 系统功能框架

2.3 数据库设计与系统安全

由于系统在 Internet网上运行,而且访问量非常大,因此保证安全尤其重要。本系统在不同级别上运行加了安全性设计,保证系统的正常工作(如图3)。

(1)系统采用了基于用户的多层权限保护及灵活的赋权方法,也就是不同的用户有不同使用权限。

(2)系统运用了以下安全措施:与校园网的安全机制相结合,设立防火墙。在网络级、操作系统级、数据库级均采取安全措施,保证系统的安全。系统采取完整备份和增量备份相结合的数据备份策略,当系统遭遇灾难性破坏或进行历史性数据查询时,能够及时恢复或再现历史数据的实时状态。记录用户登录日志,系统自动记录用户操作的模块、操作时间、操作地点等信息以供定期检查,以便一发现异常情况能得到及时处理。系统上,限制高权限管理员能登录的IP地址范围,以及密码有不定期修改功能。用户密码的设计采取大小写敏感、字母数字特殊字符混合编排等要求,经加密后存放在数据库中。用户一定时间内不操作后再接着操作时应重新登录,在退出系统时立即清除留下的Cookies信息,进行数据维护访问的页面必须执行用户身份再验证操作。

(3)应用视图提高数据库安全性的策略。

图3 数据表关系图

2.4 表示层

在表示层采用了Struts技术。Struts继承了MVC的各项特征,它将业务逻辑和显示页面分离开来。它将大量逻辑放在配置文件中,而不放在程序中。Struts通过配置文件将Struts标签库,Actionform.对象,ActionServlet控制器组件,Action对象联系起来一起工作。工作流程如图 4中 Struts部分。ActionServlet包括一组基于配置的 ActionMapping对象。Struts的Module部分包括Action和Actionform,当用户向服务器端提交请求http时,该请求就被发送到Struts框架中的控制器 ActionServlet;在控制器 ActionServlet中,利用ActionMapping对象把请求映射到Action处理器对象,并根据请求的参数实例化相应的Actionform;根据配置信息决定是否需要表单验证;验证失败则直接把请求转发给包含客户提交表单的JSP组件;验证成功则由ActionServlet根据配置信息决定调用哪个Action的execute方法;Action的execute方法返回一个 ActionForward对象,ActionServlet再把 http请求转发给ActionForward对象指向的JSP组件。JSP组件生成动态网页,返回给客户。Struts完成客户端表单进入的验证,管理请求和响应,提供控制器来完成页面流转和向业务逻辑层的委托,返回到客户端页面显示。

2.5 业务层

业务层为数据库端表示层提供松散耦合,处理真实企业应用,完成事务管理的选择,协调各种业务逻辑对象之间的依赖关系,并为持久层和业务逻辑层之间提供松散耦合,实现持久层的业务逻辑。系统使用了EJB接口作为业务逻辑层。由它管理Struts的每个Action并为Hibernate框架提供数据库连接的JDBC以及事务管理的指定。

2.6 数据层

本系统的持久化逻辑采用 Hibernate作为中间件,Hibernate是采用 ORM 映射机制的持久层开发工具,它是JAVA应用和关系数据库之前的桥梁,负责JAVA对象和关系数据之间的映射。内部封装了JDBC访问数据库的操作,向上层应用提供了面向对象的数据库访问API。Hibernate在本系统中的应用如图4所示。

图4 Struts与Hibernate在系统各层中的应用

3 系统的运行

以考生登录模块为例简述系统流程。

(1)考生进入登录页面后,按要求填写用户名、密码,确认后,点击登录。系统进行用户、密码检验。当考生输入正确时,进入考生模块,进行进一步操作。当考生登录时录入了错误的用户名或密码时,系统提示:“错误的用户名或者密码”。当用户记不起密码时,可到本市报名点查询密码。

(2)进入考生信息修改及查询。考生在注册个人信息之后,在规定的时间内,可上网查看自己的个人信息资料,如果发现上次又录入错误的情况,可以进行修改,修改后,点击提交即可。

(3)进入考试信息查询。在考生交完考试费用,考生信息被审核确认后,各考点会对本考点的考生进行准考证号的分配,并公布相关信息,这时,考生可上网查看自己的考场安排情况以及一些与考试相关的信息。每个考生只能看到自己的相关考试信息,无法看到其他考生的相关信息,保证了个人隐私。

(4)进入考试成绩查询。考生的成绩录入后,经过审核将在网上公布,考生可以在此查询自己的成绩情况。

在本模块的设计中,应用了Ajax技术,减少了页面的响应时间。

4 总结

本文的网上报名系统满足了当前考试报名的多种需求,建立了一个基于Web终端的多功能信息平台,为不同用户提供了多种优质的信息服务。充分调动广泛的社会资源,利用现代信息技术架起考试管理机关、学校、考生之间实时、快捷、有效沟通的桥梁,以促进考试工作的顺利进行,真正使减员增效落实在实处。下一步,正在研究设计系统中网上支付报名费等功能,使系统的服务性功能更加强大。

[1] 邓子云,张赐.JSP网络编程从基础到实践[M].电子工业出版社.2005.

[2] 张晓诺,曹宝香,王廷蔚等.基于J2EE的PDM系统权限管理设计和实现[J].计算机应用研究.2006.

[3] JSP网络编程从基础到实践[M].电子工业出版社.2005.

[4] 黄丹霞,杨璐,崔永普.在J2EE项目中使用Struts对MVC模式的研究与实现[J].计算机工程与设计.2005.

[5] 计磊,李里,周伟.精通 J2EE—Eclipse Struts Hibernate Spring整合应用案例[M].人民邮电出版社.2006.

[6] 戎伟,张双.精通Struts—Java流行服务器、框架、工具及整合应用[M].人民邮电出版社.2006.

猜你喜欢

页面密码逻辑
刑事印证证明准确达成的逻辑反思
刷新生活的页面
密码里的爱
逻辑
创新的逻辑
密码抗倭立奇功
女人买买买的神逻辑
密码藏在何处
夺命密码
Web安全问答(3)