Struts2_note是一份关于Struts2框架的学习总结文档,作者分享了自己在学习过程中积累的一些关键知识点。Struts2是一个流行的开源Web应用程序框架,它基于MVC(Model-View-Controller)架构,用于简化Java Web应用的开发。
1. **开发模式设置**:
默认情况下,Struts2的开发模式设为`false`,可以通过修改 `<constant>` 标签来开启`devMode`,如 `<constant name="struts.devMode" value="true"/>`,这有助于在开发环境中进行调试和快速反馈。
2. **查看Java源码**:
- 在IDE中,可以直接通过F1键查看Struts2核心库(struts-2.1.8.1.jar)中的源码。
- 在MyEclipse中,可通过Javadoc功能查找API文档,指定的路径是 `F:/java/main2/11_struts/struts-2.1.8.1/docs/struts2-core/apidocs/`。
3. **配置XML文件的自动提示**:
- 使用IDE的偏好设置(Preferences或Windows -> Preferences),搜索`catalog`来添加DTD文档连接,然后导入struts-2.1.7.dtd文件。
- 在编写XML文件时,会根据配置自动提示标签和属性。
4. **Struts2执行流程**:
- Struts2遵循拦截器链(Interceptor Chain)的工作原理,包括ActionInvocation的初始化、拦截器的执行、Action逻辑处理以及结果的返回等步骤。
- 图片展示了这些过程的简化示意图,但具体细节涉及到拦截器栈、Action、Result等组件的交互。
5. **Namespace(命名空间)**:
- 在Struts2中,命名空间用于组织和隔离不同的URL模式,每个命名空间有自己的配置和Action。
6. **JSP编码设置**:
- 建议在JSP页面中设置统一的编码,例如通过 `<%@ page contentType="text/html; charset=UTF-8" %>`, 避免字符集问题。
7. **路径问题**:
- 为了代码的可维护性和避免路径问题,建议使用绝对路径而非相对路径,尤其是在部署时。
8. **自动生成的路径标签**:
- 在JSP中,可以使用 `<% String basePath = ... %>` 来动态获取应用的基路径,以便于动态构建链接。
9. **动态调用和Action名**:
- 动态调用Action的方法时,可以使用 `actionname!Methodname` 的格式,配置文件只需指定action名称和类路径。
10. **通配符和Action配置**:
- `*_*` 通配符可以用来匹配多个Action,例如 `<action name="User*" />` 可以匹配所有以 "User" 开头的Action。
这份文档提供了对Struts2基础配置、源码查看、XML文件编写技巧和常见开发实践的深入讲解,对于学习和使用Struts2的开发者来说,具有较高的参考价值。