Struts2 框架详解:通配符定义 ACTION 和优势介绍

需积分: 10 4 下载量 88 浏览量 更新于2024-08-18 收藏 876KB PPT 举报
"这篇文档主要介绍了如何在Struts2框架中使用通配符定义ACTION,以及Struts2框架的优势和特点。" 在Struts2框架中,通配符的使用可以极大地提高ACTION的复用性和灵活性。在给出的示例中,`<package name="itcast" namespace="/test" extends="struts-default">`定义了一个名为`itcast`的包,其命名空间为`/test`,并继承了`struts-default`配置。接下来的`<action>`元素展示了如何使用通配符`helloworld_*`来定义ACTION。这里的`*`是通配符,表示任何字符序列。`method="{1}"`表示将请求路径中的第二部分作为方法名来调用。因此,`<action>`标签内的`execute()`方法对应于访问`/test/helloworld.action`,而`other()`方法则可以通过`/test/helloworld_other.action`来调用。 Struts2框架是在WebWork2的基础上发展起来的,与传统的Struts1相比,它在设计上有很大的改进。首先,Struts2采用了无侵入式设计,即应用程序代码不直接依赖于ServletAPI和StrutsAPI,这与Struts1的侵入式设计形成了鲜明对比。例如,Struts1中的`OrderListAction`类需要继承`Action`,并重写`execute`方法,而Struts2则允许开发者定义自己的业务逻辑类,无需直接继承特定的基类。 其次,Struts2引入了拦截器(Interceptor)机制,使得AOP(面向切面编程)变得简单,可以方便地实现如权限控制、日志记录等功能。拦截器是Struts2的核心特性之一,它们在Action执行前后执行,增强了框架的功能和可扩展性。 此外,Struts2提供了内置的类型转换器,自动处理请求参数的类型转换,避免了在Struts1中手动注册转换器的麻烦。同时,Struts2支持多种视图技术,如JSP、FreeMarker、Velocity等,为开发者提供了更多选择。它的输入验证功能可以针对特定的方法进行,解决了Struts1中验证覆盖不全面的问题。对于国际化支持,Struts2提供了全局、包级别和Action级别的资源文件管理,便于多语言应用的开发。 在搭建Struts2开发环境时,开发者需要获取相关的jar文件,通常是通过官方下载页面获取。然后,编写Struts2的配置文件,如`struts.xml`,这个文件定义了ACTION、拦截器和其他框架设置。最后,要在`web.xml`中配置Struts2的前端控制器Filter,以便启动Struts2 MVC框架。 总结来说,Struts2以其无侵入式设计、强大的拦截器机制、类型转换器、多视图支持、精细化的输入验证和国际化的强大功能,成为Java Web开发中流行的MVC框架。而使用通配符定义ACTION是Struts2中一个实用且灵活的特性,能够简化ACTION映射的管理,提高代码的可维护性。