网站首页  词典首页

请输入您要查询的论文:

 

标题 基于ExtJS+SSH2技术的安全多层Web框架的构建与应用
范文

    李宁

    摘要:为解决当前我校现有的高校评优评先B/S系统中存在的界面不够美观、操作不够便捷、缺少移动客户端、加载缓慢和部分安全漏洞等问题,提出了采用ExtJS4作为系统前端界面技术,整合SSH2框架技术,以SQL Server 2008作为后台数据库,同时加入对系统架构安全性研究,设计和构建了安全的多层Web应用框架,并基于此架构进行应用,实现了基于Windows和Android双平台的高校e评优系统。该系统在实际应用中较好地解决了现有系统的不足,对高校其他B/S系统具有一定借鉴价值。

    关键词:ExtJS;SSH2;安全多层web框架;高校评优系统

    中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)27-0064-02

    1 问题背景

    1.1 高校评优系统现状

    当前,高校师生在开展诸如优秀党员、优秀教师和五四评优等活动时,往往采用现场投票、人工计票方式,极大地影响着工作的效率;而部分高校虽然采用了网上在线投票系统,但系统存在不少问题,如有些系统仅仅限于网上投票而无法提供参加评优人员对个人评优信息的维护;有些系统缺乏方便快捷的客户端操作界面,无移动手机端界面;有些系统存在不少安全问题,如用户密码未加密、管理员能够查看到谁给谁投票以及系统开发框架存在不少技术漏洞等。为此,设计开发基于安全多层Web应用框架的并具安卓端的评优系统便成为一个迫切的任务。

    1.2 安全多层Web应用框架研究

    在多层Java Web系统架构研究和应用中,目前较为流行的Struts2+Spring+Hibernate(即SSH2)架构提供了易维护的、低耦合的开发框架模型,可用来搭建高质量的Web应用。李淑芳等[1]的“基于SSH2框架的高校科研网络管理系统的实现”、孟凡奇等[2]的“SSH架构在导师实验室综合管理系统开发中的应用”在办公自动化、计算机辅助决策和现代化信息发布方面大大提高了工作效率。

    在前端界面技术方面,ExtJS是一个基于Ajax的框架,可用来开发界面美观的富客户端应用,使得B/S应用更加具有生命力和活力,提高用户体验。比如,卢冶等[3]在污水管理信息平台中引入ExtJS技术,良好的组件化设计提高了系统Web界面品质和开发效率;李天鸣等[4]利用强大而美观的ExtJS树形组件进行了Web应用系统的权限管理研究,实现了多级的动态权限管理。

    在SSH2和ExtJS技术的整合方面,张建军等[5]的“基于 ExtJS的J2EE轻量级框架的研究与应用”和张鹏伟等[6]的“基于ExtJS和SSH 的Web应用架构的研究与实现”等,设计了基于ExtJS和SSH的整合架构,用以构建灵活、易维护且可扩展的多层Web应用平台,使用ExtJS技术极大地提升了Web应用程序的响应速度和用户体验,使服务器更加方便、快捷地和客户端进行交互。

    基于MVC模式的、SSH2和ExtJS技术的Web应用架构,能构建出易于扩展、便于维护的、架构优良的且前端界面技术更强大的Web应用系统,开发效率大大提高,项目的成本、周期和风险也得到极大降低,具有广阔的市场应用前景。但目前的研究问题集中在:1)使用SSH框架的居多而不是使用更好的SSH2框架,且ExtJS采用的版本相对较低;2)架构和系统的安全性考虑较少;3)缺乏在基于移动Android平台下的基于SSH2和ExtJS技术的整合架构搭建及其應用研究。

    综上,本课题依托移动高校在线评优系统的设计和实现为背景,研究在移动终端环境下整合SSH2和ExtJS技术,加入对架构和系统安全性的考虑,以SQL Server 2008作为数据后台,构建移动环境下的安全多层Java Web应用架构,并设计和实现双系统可用的高校e评优系统,实现在PC端和App端开展高校评优活动的业务流程,具有较好的实践和指导意义。

    2 系统需求和模块设计

    2.1 系统需求分析

    通过业务调研得到,系统通过Windows平台完成评优活动的发布和管理、评优对象的简历维护和评优活动权限管理;Android端完成在线评优流程和查看结果。系统主要包括管理员、参评对象和普通用户等三类用户。其中,管理员主要负责评优活动的管理,参评对象就某个参评活动提交个人简历并维护个人简历,普通用户进行在线评优投票。所有用户可以查看投票结果,同时系统实时统计评优结果和评优参与度,系统的主要数据流图如图1所示。

    2.2 系统功能模块

    通过对系统功能需求的分析,根据用户类别划分了子系统,高校e评优系统分为用户分系统与管理员分系统,基于图1所示的数据流图进行了变换型处理和分析,高校e评优系统Windows平台的功能模块结构如图2所示,Android平台的系统功能模块结构如图3所示。

    3 安全多层Web应用框架的构建

    3.1 高校e评选系统web框架模型与搭建

    该文在参考借鉴基础上设计了Java Web的一种多层应用框架模型如图4所示,并加入安全考虑,后台数据库用SQL Server 2008实现;前端采用JSP技术开发,引入ExtJS4.2.1的类库来实现各种美观客户端组件,使用Ext.Data控件传输Json格式的数据,并将数据显示在前台Ext.Grid控件中;安卓端采用RxJava和Retrofit技术[7]实现。该多层架构极大地方便了高校e评选系统的设计和实现。

    系统搭建方面,系统在Win10下使用MyEclipse 2016作为IDE,整合SSH2后进行测试,确保SSH2框架没问题,再导入ExtJS环境。鉴于Spring管理着Struts和Hibernate更好地工作,搭建顺序从Spring环境开始为最佳,主要步骤包括:开发环境准备、创建系统数据库、新建Web工程、添加Spring、添加Hibernate、整合Spring和Hibernate、搭建Struts2环境、整合Spring与Struts2以及在项目中使用ExtJS。其中,在项目中使用ExtJS,包括的文件有:1)整个resources文件夹,ExtJS所需要的CSS与图片文件;2)2 ext-all.js(ExtJS核心库);3)ext-lang-zh_CN.js文件(多国语言资源文件)。

    系统引入ExtJS框架强化客户端界面渲染功能,如登录、文件上传和树形菜单等功能;采用Spring的静态加载缓存技术,在首页将JavaScript文件、CSS文件和图片等静态资源文件加载进来放进内存,提高ExtJS的加载速度。

    3.2 系统的安全设计考虑

    高校e评优系统网站在使用过程也逐渐发现了JSP页面SQL注入、Struts2存在漏洞、缺乏权限管理和敏感用户数据未加密等安全风险问题。为此做了以下安全措施。

    1) 针对Struts2存在服务器被远程控制从而引起数据泄漏问题和远程代码执行的漏洞 [8],基于使用的JDK1.6版本,e评优系统将Struts升级到Apache Struts 2.3.34版本;

    2) 对于SQL注入攻击,e评优系统定义了一个过滤SQL语句关键词的过滤器Filter类,检测 request请求的SQL语句某些关键词并处理;同时,SQL语句采用PreparedStatement的填充参数方式,严禁使用字符串拼接SQL或者HQL语句;

    3) 对系统中存在的敏感数据,如用户密码、用户的无记名投票数据等,设计了一个MD5类对数据采用MD5算法加解密,实现机密重要数据的加解密出入库;

    4) 双端数据校验。程序在客户端和服务端都做数据校验,进一步防止不合法数据进入。

    4 结束语

    该文给出基于SSH2+ExtJS整合框架构建的一种安全多层Java Web应用系统开发框架模型,并进行安全的设计,并在我校评优评先工作进行实践应用,设计和实现了具有Windows和Android双平台的高校在线评优业务平台,优化了我校评优评先系统,提高了工作效率,对今后我校其他B/S应用系统的设计和实现提供了一定参考借鉴价值。下一步将研究:1)前端大量数据的访问测试,优化ExtJS富客户端在大量数据访问应用中的性能;2)对整合框架的安全性进行深度测试,进行分层逐级的安全策略技术应用研究,取得系统在性能和安全的平衡。

    參考文献:

    [1] 李淑芳, 胡克寒, 张凤丽. 基于SSH2框架的高校科研网络管理系统的实现[J]. 计算机应用与软件, 2007, 2(7).

    [2] 李淑芳, 胡克寒, 张凤丽. 基于SSH2框架的高校科研网络管理系统的实现[J]. 计算机应用与软件, 2007, 2(7).

    [3] 卢冶, 徐明, 苏勇. 一个基于Ext-JS技术的污水管理信息平台的设计与实现[J]. 计算机应用与软件, 2013, 9(9).

    [4] 李天鸣, 何月顺. 基于ExtJS技术与SSH框架的权限管理研究[J]. 计算机应用与软件, 2011, 5(2).

    [5] 张建军, 刘虎. 基于ExtJS的J2EE轻量级框架的研究与应用[J]. 计算机应用与软件, 2014, 31(4):73-76.

    [6] 张鹏伟, 陈景霞, 张文平, 等. 基于ExtJS和SSH的Web应用架构的研究与实现[J]. 陕西科技大学学报, 2010, 28(6):111-115.

    [7] 郁书好, 田志会, 朱成棋, 等. 基于Android的毕业设计选题系统设计与实现[J]. 软件导刊, 2018(4).

    [8] The Apache Software Foundation. Apache Struts 2 Security Bulletins[EB/OL].https://cwiki.apache.org/confluence/display/WW/Security+Bulletins.

    [通联编辑:谢媛媛]

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/3/21 16:10:33