基于Struts2的Web应用开发

时间:2022-10-12 05:44:01

基于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.

上一篇:中兽药药材及粉散制剂的显微鉴别方法 下一篇:针对如何提高高校篮球教学质量的对策分析