- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Struts2的Web应用开发
基于Struts2的Web应用开发
【摘 要】本文采用Eclipse4.5+Mysql5.5开发环境,结合JavaWeb、Struts2等多种技术,实现了一个新闻发布系统。通过DTO和DAO实现数据库层的访问,而Struts2实现表现层。软件经过测试,满足新闻发布的需求,也达到了便于维护的目的。
【关键词】Java;Struts2;Web;应用
1.引言
当今社会是一个信息化的社会,新闻作为信息的一部分有着信息量大,类别繁多,形式多样的特点,新闻发布系统的概念就此提出。新闻发布系统的提出使电视不再是唯一的新闻媒体,从此以后网络也充当了一个重要的新闻媒介的功能。本文用Eclipse4.5和Mysql5.5设计一个新闻发布系统,方便人们的工作和生活。
2.Struts2技术简介
Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求[1],这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。
3.系统功能模块
该系统分如下几个模块:
登录验证子系统:
系统启动时,将出现登录窗口,要求用户输入正确的用户名和密码,否则无法进入系统。
新闻模块子系统:
本系统中,将所有新闻分到不同的模块,本子系统就是对新闻模块进行添加、删除、修改和浏览:
新闻子系统:
本子系统对新闻进行添加、删除、修改和浏览:
前台子系统:
本子系统在前台以不同模块展示所有新闻,并可对新闻进行搜索,点击新闻后可以查看新闻详细信息。
4.关键实现技术
4.1数据库设计
4.2 DB类
由于该系统多处需要连接数据库然后执行SQL命令,为了提高代码的重用率,减少代码冗余,便于以后维护,故将所有操作数据库的代码放到一个名为DB的类中,在该类中定义一个连接类型的字段,在构造函数中实现数据库的连接。
4.3 DTO与DAO
DTO是Data Transfer Object数据传输对象,这个对象封装你需要传输的数据 在模型,视图,控制这三个层传递[2]。根据上述三张数据表,对应的本系统使用了三个DTO:adminDto、moduleDto、newsDto。并且由于moduleDto与newsDto是一对多的关系,所以在moduleDto中有List news这个属性,而newsDto中又有moduleDto module这个属性。
DAO是Data Access Object数据访问接口,数据访问:故名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。本系统使用了三个DAO:adminDAO、moduleDAO、newsDAO,这些DAO的功能主要是根据系统的业务逻辑而定,主要是对三张数据表的增删改查,但是它们所有的方法使用的参数及返回值是DTO或DTO列表。
4.4权限管理的实现
本系统要求用户登录成功后才能查看系统中的某个视图资源;否则直接转入登录页面。对于上面的需求,可在每个Action执行实际处理逻辑之前,先执行权限检查逻辑,但这种做法不利于代码复用。因为大部分Action里的权限检查代码都大同小异,故将这些权限检查逻辑放在拦截器中将会更加优雅。
检查用户是否登录,通常都是通过跟踪用户的HTTP Session来完成的,通过ActionContext即可访问到Session中的属性,拦截器的intercept(ActionInvocation arg0)方法的agr0参数可以很轻易地访问到请求相关的ActionContext实例。同时可以在拦截器中实现乱码的处理:
5 .结束语
本系统的开发环境为Eclipse4.5,以Mysql5.5为后台数据库支撑环境,设计出了有实用价值的新闻发布系统,该系统与同类系统相比,不仅性能较高、运行较为稳定,而且可维护性和可扩展型都比较出色。
参考文献:
[1] 李刚. Struts 2.x权威指南第三版[M].电子工业出版社,2012,10.
[2] 李刚.轻量级Java EE企业应用实战第四版[M].电子工业出版社,2014,10.
文档评论(0)