Struts2.0 2007 2 月份开始发布的,它整合了当今两大主流的 web 应用开发框架, Struts1 webwork2 ,吸取了诸多开源框架的优点,是官方推荐的 Web 开发框架。 Struts2 使用配置文件支持客户端和服务器端的验证, Strut2 的验证配置继承自 webWork ,因此和 Strut1 的验证配置有很大的不同。 Strut2 可以很好的支持 Spring ,所有的 Action 实例配置在 Spring ApplicationContext.xml 中,可以通过 Spring 的依赖注入直接调用模型层的代码,实现 Struts Spring 框架的无缝结合,这是比 Strut1 强大的技术特征之一。 Strut2 使用了拦截器模式,大量采用了拦截器堆栈,对于任何一个请求,先经过一系列拦截器的处理之后才真正调用 Action 的方法。 Struts 框架的模型如图 所示:
请求的处理流程是 [21] <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1.        浏览器请求一个资源,比如 (/mypage.action /reports/myreport.pdf et cetera)

2.        Servlet 过滤器查找请求并决定把请求发送到那个 Action

3.        拦截器拦截调用,并应用拦截器实现的功能。

4.        Action 执行请求并返回一个 String 类型的结果

5.        返回的结果经过渲染后返回到客户端。

 

在本课题的实现过程中,信息发布系统的后台是采用 Strut2 实现的,数据在客户端和服务器端根据配置文件进行双层验证,保证了数据输入的有效性和可提示性,使用资源文件存储所有需要显示的界面信息,为实现信息发布界面国际化打下良好基础。 Shut2 Spring 框架的结合,提高了程序的可配置性,采用面向接口的编程方式提高了程序的可测试性,并且使得更改接口的实现变得简单。