Struts2 Action属性注入详解与环境搭建

需积分: 10 4 下载量 167 浏览量 更新于2024-08-18 收藏 876KB PPT 举报
"这篇资料主要介绍了如何在Struts2框架中为ACTION的属性注入值,以及Struts2框架的优势和搭建开发环境的步骤。" 在Struts2框架中,为ACTION的属性注入值是通过配置文件实现的。例如在描述中给出的例子,`HelloWorldAction` 类有一个 `savePath` 属性,它具有对应的 getter 和 setter 方法。在Struts2的配置文件中,我们可以在 `<action>` 节点下使用 `<param>` 节点来为这个属性注入值。如: ```xml <package name="itcast" namespace="/test" extends="struts-default"> <action name="helloworld" class="cn.itcast.action.HelloWorldAction" > <param name="savePath">/images</param> <result name="success">/WEB-INF/page/hello.jsp</result> </action> </package> ``` 在这个例子中,`<param name="savePath">/images</param>` 将字符串 "/images" 注入到了 `HelloWorldAction` 的 `savePath` 属性中。这样,当Action执行时,就可以直接使用这个注入的值。 Struts2框架是在WebWork2的基础上发展起来的,相较于Struts1,Struts2有以下显著优势: 1. 非侵入式设计:Struts2的应用并不强制依赖于Servlet API或Struts API,这使得应用程序更易于维护和扩展。 2. 拦截器机制:Struts2引入了拦截器,允许开发者实现AOP(面向切面编程),例如进行权限控制、日志记录等功能。 3. 类型转换:框架内置了类型转换器,能够自动将请求参数转换为所需类型,避免了在Struts1中需要手动注册转换器的麻烦。 4. 多视图支持:Struts2支持JSP、FreeMarker、Velocity等多种视图技术,提高了灵活性。 5. 方法级别的输入验证:验证可以针对特定的方法进行,提高了验证的精确性。 6. 范围广泛的国际化资源管理:支持全局、包和Action级别的国际化资源文件管理,方便进行多语言支持。 搭建Struts2的开发环境通常包括以下步骤: 1. 获取所需JAR文件:访问Apache Struts官方网站下载最新的Struts2核心库和其他依赖的JAR文件。 2. 配置Struts2的XML文件:创建并配置Struts2的配置文件(通常为struts.xml),定义Action及其相关属性。 3. 修改web.xml:在项目的`web.xml`中添加Struts2的前端控制器过滤器(通常为`DispatcherServlet`),以便启动Struts2框架。 通过这些步骤,开发者可以快速建立起一个基本的Struts2开发环境,从而开始构建基于Struts2的应用程序。在实际开发中,还需要学习更多关于Struts2的注解、拦截器、结果类型、插件等高级特性,以便充分利用其功能。

192.168.85.1 - - [26/Jun/2022:06:07:07 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 24 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 24 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 24 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 200 12925 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 200 12925 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 200 12925 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 200 14 192.168.85.1 - - [26/Jun/2022:06:08:06 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 15 192.168.85.1 - - [26/Jun/2022:06:08:16 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 1227 192.168.85.1 - - [26/Jun/2022:06:10:15 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 79 192.168.85.1 - - [26/Jun/2022:06:13:25 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 404 752 192.168.85.1 - - [26/Jun/2022:06:16:42 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 35 192.168.85.1 - - [26/Jun/2022:06:16:57 -0400] "GET //struts2-showcase/hhh.jsp HTTP/1.1" 403 642 192.168.85.1 - - [26/Jun/2022:06:18:55 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 35 192.168.85.1 - - [26/Jun/2022:06:19:02 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 35 192.168.85.1 - - [26/Jun/2022:06:19:09 -0400] "GET //struts2-showcase/hhh1.jsp HTTP/1.1" 403 642 192.168.85.1 - - [26/Jun/2022:06:19:34 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 400 192.168.85.1 - - [26/Jun/2022:06:20:37 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 5 192.168.85.1 - - [26/Jun/2022:06:20:42 -0400] "GET //struts2-showcase/hhh1.jsp HTTP/1.1" 403 642 192.168.85.1 - - [26/Jun/2022:06:20:46 -0400] "GET //struts2-showcase/hhh.jsp HTTP/1.1" 403 642 192.168.85.1 - - [26/Jun/2022:06:20:51 -0400] "GET /struts2-showcase/hhh.jsp HTTP/1.1" 403 642

2023-07-12 上传