黄玲
摘 要:Struts从推出以来得到了广泛应用,是一种优秀的MVC开发框架,却随着应用的不断扩大,也逐渐暴露出了一些不足。Struts2框架是基于WebWork推出的一个新的MVC框架,他与Struts相比,具有较大变化。文章介绍了Struts框架与WebWork框架,系统得分析了Struts2框架的体系结构,通过他与Struts框架对比,重点探讨了Struts2控制器的实现原理,从而总结出Struts2较之Struts框架的优势。
关键词:WebWork;Struts2;控制器;面向切面编程
Struts1框架虽然用的比较广泛,也比较成熟,但在面对其他的MVC的框架来说,虽然有自己的不足之处。为了弥补这些不足,Struts1进行了一些更新,之后就产生了现在的Struts2。
1 Struts1框架
Struts1由两部分控制器组成,他们分别是核心控制器和业务逻辑控制器,核心控制器是有Struts1框架自身提供的,而业务逻辑则是有用户自定义的,由开发者提供。
应用是由请求驱动的,是由客户端的浏览器发送请求,然后被Struts1的核心控制器进行拦截,核心控制器再根据请求来决定是否调用业务逻辑控制器处理请求,当用户请求处理完后,其处理结果通过 jsp现给用户。
Struts1的缺陷:
(1)支持的前台表现比较少。Struts1推出时只能够支持jsp作为前台的表现。
(2)与Servlet API严重耦合,对测试非常不友好。一旦离开了Web容器,测试会非常困难。因为Struts1是完全是基于Servlet API的,所以在Struts1的业务逻辑控制器内部,充满了大量的Servlet API action中的参数,严重依赖Web服务器。
2 WebWork框架
WebWork是建立在名叫Xwork基础之上的框架,他是来自另一个优秀的开源组织opensymphony。Xwork是一个标准的Command模式,简便、灵活且功能强大,而且完全从web层脱离出来。
WebWork采用相互关联较低的设计,系统的action和servlet API不在相互依赖,允许系统从B/S结构向C/S结构转换 WebWork能够支持更多的前台技术。……