基于J2EE 的高校公寓文化建设投票系统设计
2015-12-06张天文
张天文
(长春工程学院学生工作处,长春130012)
0 引言
高校公寓文化是现代高校学生工作的重要组成部分,它是校园活动的一部分,其主要以公寓为背景区域,以学生为主体,有利于对大学生的个性培养和习惯养成。高校公寓文化对于大学生的学习和生活有促进作用,可推进学校的教学发展。高校公寓文化建设可分为3个部分:物质文化建设、制度文化建设和精神文化建设。高校公寓文化建设的好坏直接影响着学生的身心健康。好的公寓文化对学生的思想健康成长有着推波助澜的作用,具有正能量,相反,不切合实际的公寓文化会将学生引向歧途。因此,如何建设符合学校建设及社会进步的公寓文化是我们的追求目标。俗话说“知己知彼,百战不殆”,只有掌握了学生们的个性特点,才能因材施教,形成符合学校发展的学生公寓文化。
电子投票系统主要用来统计学生对公寓文化的期望及要求,统计结果可以成为分析学生个性的真实数据,有利于学生工作者及时掌握学生的思想动态,同时也可以根据学生的需求建设符合学生特点的公寓文化,有利于学生身心健康的成长。
1 系统分析
1.1 可行性分析
本平台软件基于MAC的开发模式开发,具有多种操作系统及应用服务器平台的特点,采用JSP、Servlet、JavaBean和JDBC等一些JAVA Web相关技术实现。浏览器方式,Java开发包为jdk1.6.0_10。JMDAP网上投票系统的结构体系建立在Web的客户/服务器(B/S)体系结构的基础上,系统采用了模块化的设计方法,由于J2EE的可移植性好,可在各个操作系统之间进行无障碍的转换,具有多操作系统性。并且J2EE为面向对象的操作,体系架构先进,同时利于维护和更新。
1.2 系统结构
网上投票平台由3个子系统组成:网上投票管理系统、网上投票设计和网上投票用户管理系统,具体流程如图1所示。
图1 网上投票系统流程图
2 系统总体结构设计
该系统是基于J2EE平台开发设计的,完全依照MVC模式设计,数据库采用SQL2000开发,用来收集高校公寓文化的建议,进行调查研究,为更好地建设高校公寓文化提供客观的数据支持,其系统功能模块如图2所示。
图2 系统功能模块图
2.1 投票管理系统
网上投票管理系统的功能包括投票表单生成和投票结果显示2个模块。
1)投票表单生成:这是投票系统的界面部分,用以显示投票的具体选项,利用人机交互功能,采用Web浏览方式,投票人可实时修改所选选项。
2)投票结果显示:投票人,即用户,填写完投票表单即可提交,系统将自动统计票数,并将投票结果显示在浏览器中,以方便用户查询。管理员可随时查看当前的投票情况,投票结果以条状图显示。
2.2 投票设计系统
投票设计系统是整个系统的核心部分,任何数据的采集都以此为基准,因此,投票的设计环节尤为重要。投票设计主要是针对学生的特点设计选票内容,选票内容要切合实际,符合公寓文化建设的要求,选题答案可多种,也可单种。投票设计系统主要包括选项的增加、查看、修改及删除功能。
用户在注册登录后即可通过投票表单进行选票的选择,选择完毕提交,答案即上传到数据库中,计算机根据数据库中的统计结果自动计算票数。通过统计选项所对应的票数,我们就可以分析出学生的需求,以便为更好地建设公寓文化提供确切有效的数据支撑。
投票设计是由管理员来完成的,管理员可以设计选票内容,随时对选票的内容进行删减和修改,用户没有改动选票内容的权限。每一个选项都具有备注的功能,如所有选项中没有用户所要求的选项,用户可在备注中说明,并将自己的选项内容填写在此处。
2.3 投票用户管理
投票用户管理部分包括查看用户、添加用户及删除用户3个部分。已经注册的用户需要经过系统认证才能登录成功,并参加投票。用户账户分为管理员账户及普通账户,管理员账户可对普通账户的信息进行修改,普通账户仅能对自己的信息进行修改,对其他用户信息无权进行任何的修改与删除。另外,为了用户的信息不被泄露,此系统还使用了信息加密技术,在数据的传输过程中进行了水印加密,以确保用户信息的安全性。
3 J2EE投票系统的设计
J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用足迹根据他们所在的层分布在不同的机器上。该系统的核心是投票管理系统和投票设计系统,由于这2个模块都具有持久化的特点,因此,我们使用JDBC来连接数据库,并使用JTA来完成数据库存取事务。
本系统采用JSP+JavaBean的模式实现在线投票。系统采用界面与业务逻辑分离的三层架构设计(图3)。将每层中的代码压缩封装成不同的组件,对外只提供代码的接口,这样不仅提高了代码的可重用性,对于系统的维护和更新也具有很好的可操作性。各层功能如下:
图3 J2EE层次
1)界面层:该层主要用来生成投票表单,并对用户进行身份验证,以及返回投票结果。
2)业务逻辑层:将应用层与业务层分离,使系统的安全性得到了提高,维护起来更加方便,对于将来的功能扩展也有充分的空间,并且可以使软件程序员将所有的精力都放在构建应用服务上。本系统用JavaBean来实现业务逻辑层的业务代码。
3)数据存储层:负责管理系统的各种数据,包括管理员对用户身份信息核实的数据,投票选项内容的设计以及投票结果的显示。除此之外还有各种与之关联的数据及其用户反馈的信息数据。业务逻辑层可以调用数据存储层的数据进行查询和检索,也可将业务层产生的数据传送到数据层进行存储。
4 投票系统的设计思路
在诸多开发平台中,SUN公司1999年推出的J2EE成为目前市场上主流的开发平台。系统基本架构设计采用J2EE平台+ MVC设计模式,构建起一个安全、可靠及可扩展性强、易于维护的系统。
1)使用EJB技术实现投票管理与投票设计2个模块的功能,并部署在EJB容器中,同时使用JDBC连接数据库,并使用JTA来完成数据库存取事务。
2)利用JSP/Servlet技术实现 Web的浏览应用:投票表单的生成和投票选项的选择。使用JMS将选项的具体内容发送到投票平台,实现异步的基于消息的信息目录传输。使用Web Services技术包装操作逻辑,使得更多的其他外部投票平台能够将投票的信息进行集成。将用户信息和访问控制服务进行集成,以方便管理员的后台管理,由于投票管理需要由管理员进行处理,分别将用户信息和访问控制服务用JACC和JND进行一次性集成,以便方便员工的使用。
3)使用Application Client构架一个管理员客户端,并运用JMX来管理这个客户端,将这个应用融入到这个系统管理中去。
5 系统框架设计
目前,比较成熟的 MVC实现框架有Struts、Spring、ZF、.NET等。Struts框架(如图4)是Java Web MVC框架中不争的王者。Struts框架的优点:1)开源软件,能够减少运用MVC设计模型开发Web应用的时间;2)Taglib丰富,运用灵活,能大大提高开发效率;3)页面导航功能是今后的一个发展方向,使系统的脉络更加清晰。Struts框架主要包括:模型、视窗和控制器。
1)模型部分。包括系统状态和可以改变此状态的操作。本系统采用JavaBean和EJB组件设计和实现投票系统的事务逻辑。要注意的是Struts本身并不实现事务逻辑,但它对已完成的事务逻辑进行调用。
2)控制器部分。ActionServlet的servlet充当了控制器的角色,它根据描述模型、视图、控制器对应关系的struts-config.xml的配置文件,转发视图请求,组装响应数据模型。框架的核心配置文件就是这个默认的struts-config.xml文件,在这个默认的配置文件里我们可以根据需要再融入一些其他的配置文件。在通常的应用开发中,我们可以为每个不同的模块单独配置一个struts-config.xml文件,这样有利于我们的管理和维护,这也是我们要配置的主要文件。
3)视窗部分。视图层包含2个部分:JSP页面和ActionForm,本系统主要由JSP完成信息显示和控制器处理结果显示的功能。Struts具有丰富的自定义标签库(Html,Bean,Logic,tiles等),可以简化创建国际化用户界面的过程,来帮助用户解决显示逻辑,并利用ActionForm组件将信息传递到控制层,这有利于分开表现逻辑和程序逻辑。
图4 Struts框架流程
流程说明:
1)客户端发出一个指向控制器的http请求;
2)这个请求经控制器(Action Servlet)进行初始化工作,读取配置文件(struts-config.xml),为不同的Struts模块初始化相应的Module Config对象。比如配置文件中的Action映射定义都保存在Action Config集合中。相应地有ControI Config集合、Form Bean Config集合、Forward Config集合和Message Resources Config集合等。
3)Struts框架的处理流程清楚地体现了MVC系统的特点,所有的页面请求都将发送到Struts的前端控制器Action Servlet中(因此如果要进行前置处理,可以继承Action Servlet并重写processt)方法),同时Action Servlet也将根据struts-config.xml配置文件中的设置(<action>标签)来决定转向到那个后端控制器Action类。
4)当页面中的Form表单被提交时,Action Form将自动地封装和处理该Form表单中的数据。同时在Action的子类中可以存取存储在Action Form中的Form表单数据。
5)Action的子类将处理所获得的存储在Action Form中的Form表单数据,处理和响应客户请求,它还调用后台的Java Bean组件完成具体的业务逻辑。同时也按照在struts-config.xml文件内的forward标签内容(如<forward name="say Hello"path="/say Hello.jsp"/>),将结果交由某个JSP页面显示。
6 结语
本系统是基于J2EE平台,结合MVC设计模式设计的高校公寓文化投票系统,实现了基本的投票管理、投票设计及投票用户管理的功能,利用了SQL2000的便利性和实用性,具有操作方便、界面友好、功能强大的特点,为高校公寓文化建设收集真实有效的数据提供了先进的手段,有利于高校公寓文化的蓬勃发展。
[1]李刚.整合struts+Hibernate+Spring应用开发详解[M].北京:清华大学出版社,2008.
[2]颜晶晶.基于Internet的电子投票系统的设计与实现[D].天津:天津大学,2006.
[3]邬继承.J2EE开源精编精要15讲[M].北京:电子工业出版社,2008.
[4]白海雄,劳晓燕,陈益民,等.新形势下高校公寓文化建设探索[J].宁波大学学报:教育科学版,2009(2):105-108.