APP下载

Struts2框架在信息发布系统中的应用研究*

2014-06-13欧阳宏基

微处理机 2014年2期
关键词:页面信息

葛 萌,欧阳宏基

(咸阳师范学院信息工程学院,咸阳712000)

1 引言

Struts作为Apache组织的一个开源项目,是一种基于MVC设计模式的Java Web开发框架[1],其第一代产品Struts1在Java Web开发领域具有非常高的市场占有率。随着时间的推移,Struts1的一些弊端逐渐显露出来,例如表现层所支持的技术单一、Action组件与Servlet API紧密耦合并且是单例实现、存在线程安全性问题、侵入式框架、严重依赖于Struts1 API等。因此Struts2在Struts1和WebWork的技术基础上进行了整合。它以WebWork为核心,采用拦截器的机制来处理用户请求,目的是为了使业务逻辑控制器能够与Servlet API完全脱离开,便于开发与测试[2]。分析了Struts2的体系结构,详细描述了Struts2各组件在响应客户端请求时的调用过程。按照MVC设计模式,依据一个Web站点的信息发布系统,详细描述了表现层、控制层和模型层的实现过程,对于利用Struts2开发Java Web应用具有一定的借鉴意义。

2 Struts2体系结构

Struts2的体系结构(如图1所示)与Struts1差别非常大,因为Struts2使用了WebWork的设计核心,而不是Struts1的设计核心。Struts2框架的基本执行流程如下描述:

(1)客户端向Servlet容器(例如 Tomcat)发送HttpServletRequest请求。

(2)该请求经过一系列的过滤器(Filter)进行过滤,其中ActionContextCleanUp是一个可选过滤器,该过滤器对于Struts2和其他框架的集成起作用(例如:SiteMesh Plugin)。

(3)FilterDispatcher是Struts2的核心过滤器,担当MVC模式中控制层的核心功能。FilterDispatcher根据ActionMapper来决定当前用户请求是否需要调用某个Action。

(4)如果 ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给 Action-Proxy。

(5)ActionProxy通过Configuration Manager读取框架的配置文件(struts.xml),找到需要调用的Action类,并创建一个ActionInvocation实例。

(6)ActionInvocation实例使用命名模式来调用,在调用 Action的过程前后,涉及到相关拦截器(Intercepter)的调用。……

登录APP查看全文

猜你喜欢

页面信息
微信群聊总是找不到,打开这个开关就好了
大狗熊在睡觉
刷新生活的页面
订阅信息
展会信息
同一Word文档 纵横页面并存
浅析ASP.NET页面导航技术
其实IE也懂Chrome的心
信息
健康信息