Struts2入门:动态方法调用与环境搭建

需积分: 3 9 下载量 190 浏览量 更新于2024-08-18 收藏 365KB PPT 举报
"这篇教程介绍了如何在Struts2框架中使用动态方法调用来调用Action中的不同方法,并探讨了Struts2相对于Struts1的优势,包括无侵入式设计、拦截器、类型转换器、多视图技术支持、输入验证以及国际化资源管理。此外,还提到了搭建Struts2开发环境的基本步骤。" 在Struts2框架中,动态方法调用是一个重要的特性,允许开发者在URL中直接指定Action中的方法进行调用。例如,如果一个名为`HelloWorldAction`的类中有`execute()`和`other()`两个方法,通过`/struts/test/helloworld!other.action`这样的URL,就可以直接调用`other()`方法。如果不希望使用动态方法调用,可以在配置文件中设置`struts.enable.DynamicMethodInvocation`为`false`来关闭此功能。 Struts2框架是在WebWork2的基础上发展起来的,相比于Struts1,它具有许多改进和优势。首先,Struts2采用了无侵入式设计,使得应用不依赖于ServletAPI和StrutsAPI,降低了耦合度。例如,一个标准的Struts1 Action类需要实现`execute`方法,而Struts2的Action类可以是任何普通Java类,不强制继承特定的基类。 其次,Struts2引入了拦截器(Interceptor)机制,这是AOP(面向切面编程)的一个重要应用,可以方便地实现如权限控制、日志记录等功能。这在Struts1中需要更复杂的实现。 再者,Struts2提供内置的类型转换器,自动将请求参数转换为所需的类型,简化了数据绑定的过程。而在Struts1中,要实现相同的功能,往往需要深入到BeanUtil的底层注册转换器。 Struts2还支持多种视图技术,如JSP、FreeMarker、Velocity等,提供了更大的灵活性。此外,它的输入验证功能可以针对特定方法进行,提高了验证的针对性。对于国际化,Struts2提供了全局、包级别和Action级别的资源文件管理,便于实现多语言支持。 为了搭建Struts2的开发环境,需要获取必要的jar文件,通常可以从Apache Struts的官方网站下载最新版本的Struts2框架。之后,需要编写Struts2的配置文件(如struts.xml),并配置web.xml以启动Struts2的MVC框架。这些步骤是创建Struts2应用程序的基础。