Struts2与Struts1对比及开发环境搭建

需积分: 9 0 下载量 72 浏览量 更新于2024-08-18 收藏 4.09MB PPT 举报
"Struts2中的视图转发配置与Struts1的区别以及Struts2的优势和开发环境搭建" Struts1和Struts2都是流行的Java Web MVC框架,但它们在设计和实现上有显著区别。Struts1是最早的版本,而Struts2是在WebWork2的基础上发展起来的,它吸取了前者的经验并引入了许多改进和新特性。 在Struts1中,视图转发是通过`<forward>`标签来实现的。例如,`<forward name="add" path="/index.jsp">`表示当动作(action)执行成功后,控制权会转发到`/index.jsp`页面。如果设置`redirect="true"`,则会触发浏览器级别的重定向,而不是内部请求转发。 而在Struts2中,视图转发和重定向的配置更为灵活。虽然不再直接使用`<forward>`标签,但可以通过配置Action的结果类型来实现相同的功能。例如,在Struts2的配置文件(struts.xml)中,可以定义一个名为`add`的结果,指向`index.jsp`,如下所示: ```xml <action name="manage"> <result type="dispatcher">/index.jsp</result> <!-- 或者使用重定向 --> <result type="redirect">/index.jsp</result> </action> ``` Struts2的优点包括: 1. **无侵入式设计**:它不强制开发者依赖特定的API,使得应用程序可以独立于Struts2框架之外。 2. **拦截器**:提供了强大的AOP(面向切面编程)支持,可以用于权限验证、日志记录等多种场景。 3. **类型转换器**:自动将请求参数转换为需要的数据类型,减少了手动转换的工作。 4. **多视图支持**:支持JSP、FreeMarker、Velocity等多种模板技术作为视图层。 5. **输入验证**:可以针对特定的方法进行数据校验,提高了代码的可维护性。 6. **国际化**:提供了灵活的国际化资源文件管理,支持全局、包级和Action级别的资源配置。 至于Struts2的开发环境搭建,通常包括以下步骤: 1. 创建一个新的Web项目。 2. 添加必要的Struts2库文件到项目的`WEB-INF/lib`目录,这些库通常包括Struts2的核心库和其他依赖的JAR文件。 3. 编写Struts2的配置文件,如`struts.xml`,这是整个应用的入口点,定义了Action及其结果。 4. 在`web.xml`中配置Struts2的前端控制器`FilterDispatcher`(或更新后的`StrutsPrepareAndExecuteFilter`),以便启动Struts2框架。 最后,Struts2的Action类通常继承自`ActionSupport`或自定义的基类,如示例中的`OrderListAction`,并重写`execute()`方法来处理业务逻辑。Struts2通过注解或XML配置来关联Action方法和HTTP请求,使得代码更加模块化和可维护。Struts2提供了一套更强大、更现代的解决方案来构建Java Web应用,尤其是在处理用户交互和业务逻辑方面。