Struts2详解:配置与命名空间解析
"这是一份关于Struts2的详细学习笔记,涵盖了Struts2的核心概念、配置以及Action机制。笔记中包含重要的配置细节和Namespace的使用解析,旨在帮助读者深入理解Struts2框架的工作原理。" Struts2是Java Web开发中广泛应用的一个MVC框架,它简化了Web应用的开发过程,提供了强大的控制层解决方案。这份笔记基于Struts2.1及以上版本,强调了几个关键点: 1. 过滤器配置:在`web.xml`中,必须配置Struts2的过滤器`StrutsPrepareAndExecuteFilter`来拦截所有请求。在早期的Struts2.0版本中,使用的是`FilterDispatcher`,但在2.1及以后版本中,应使用新的过滤器。 ```xml <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> ``` 2. Struts2配置文件:`Struts2`的主配置文件`Struts.xml`应放置在项目的`src`目录下,该文件用于定义动作(Actions)、结果(Results)以及包(Packages),从而控制应用程序的行为。 3. 命名空间(Namespace):Namespace在Struts2中扮演着路由请求的重要角色。如果在`Struts.xml`中定义了一个Namespace为"/"的Action,那么请求将会根据完整的URL路径查找对应的动作。例如,如果请求路径是`http://localhost:8080/Struts2/Hello/Hello.action`,系统会先在Namespace为"/Hello"的包里寻找`Hello.action`,如果没有找到,再在默认的(即Namespace为空)包中查找。 ```xml <package name="Hello" extends="struts-default"> <action name="Hello"> <result>/Hello.jsp</result> </action> </package> ``` 4. Action实现:Struts2的Action可以是一个普通的Java类,这个类需要实现`com.opensymphony.xwork2.ActionSupport`接口,或者继承自Struts2提供的其他Action基类。Action类中的方法(通常标记为`execute()`)将作为处理用户请求的实际操作。此外,Action类还可以通过注解来简化配置,例如`@Action`和`@Result`。 ```java public class HelloWorldAction extends ActionSupport { public String execute() { return SUCCESS; } } ``` Struts2框架通过Action、Result、Interceptor(拦截器)等组件协同工作,提供了灵活的配置和扩展性,使得开发者能够更专注于业务逻辑的实现,而不是底层的HTTP请求处理。这份笔记通过实例和流程图详细解释了这些核心概念,对于学习和掌握Struts2框架非常有帮助。
![](https://csdnimg.cn/release/download_crawler_static/2884409/bg5.jpg)
![](https://csdnimg.cn/release/download_crawler_static/2884409/bg6.jpg)
剩余25页未读,继续阅读
![image/x-3ds](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/7150018b70e245c49f52690801d63456_cctb_2505652.jpg!1)
- 粉丝: 0
- 资源: 6
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)