Struts2 Action属性注入详解

需积分: 9 0 下载量 113 浏览量 更新于2024-08-18 收藏 4.09MB PPT 举报
"这篇资源主要介绍了如何在Struts2框架中为Action的属性注入值,以及Struts2框架的基本特点和开发环境的搭建步骤。" Struts2是一个基于MVC设计模式的Java web应用程序框架,它是在WebWork的基础上发展起来的。与Struts1相比,Struts2具有许多改进和优势,比如无侵入式设计,使得应用程序可以不依赖于Servlet API和Struts API。此外,Struts2引入了拦截器机制,这使得开发者能够方便地进行面向切面编程(AOP),例如实现权限控制。它还提供了内置的类型转换器,可以自动将请求参数转换为所需的数据类型,同时支持多种视图技术,如JSP、FreeMarker等。 对于Action的属性注入,Struts2允许在配置文件中直接为Action的属性设置值。在给出的例子中,`HelloWorldAction`类有一个`savePath`属性,它有对应的getter和setter方法。在Struts2配置文件中,使用`<param>`节点为`savePath`注入值"/images"。这样,当Action被调用时,`savePath`属性会被自动设置为"/images"。在实际应用中,可能需要在Action执行后,在视图层(如JSP页面)中使用这个注入的值。 开发环境的搭建是使用Struts2的第一步。通常包括以下几个步骤: 1. 创建一个新的web项目,例如名为"struts2"。 2. 将必要的Struts2库文件(jar包)放入项目的`WEB-INF/lib`目录下,这些jar文件包含了运行Struts2应用所需的依赖。 3. 编写Struts2的核心配置文件`struts.xml`,在这个文件中定义Action、结果类型以及其他配置信息。 4. 在`web.xml`文件中配置Struts2的前端控制器(Dispatcher Servlet),这是启动Struts2框架的关键步骤。 在完成以上步骤后,开发者就可以开始编写Action类,定义业务逻辑,并在Struts2配置文件中声明Action及其关联的视图。属性注入功能使得Action可以直接获取请求参数或预设值,简化了代码的编写,提高了可维护性。在实际开发过程中,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 上传