Struts2学习笔记:配置与执行流程解析

需积分: 0 0 下载量 12 浏览量 更新于2024-07-27 收藏 5.4MB DOCX 举报
"马士兵struts2课程的学习笔记" 在学习马士兵的Struts2课程时,我们会了解到Struts2作为一款强大的MVC框架,它在Java Web开发中的应用广泛。以下是一些关键知识点: 1. **导入包**:在使用Struts2之前,需要在项目中导入相关的依赖包,这通常通过Maven或Gradle来完成,包含Struts2的核心库和其他必要的库。 2. **web.xml配置**:`web.xml`是应用的部署描述符,其中的`<filter>`和`<filter-mapping>`元素用于配置Struts2 Filter,确保请求能被Struts2拦截并处理。`<filter-class>`指定为`org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter`,而`<url-pattern>`设定为`/*`,这样所有请求都将通过Struts2过滤器。 3. **struts.xml**:这个文件是Struts2的配置文件,位于项目的src目录下,用于定义动作、结果页面、拦截器等。在开发过程中,如果设置`<constant name="struts.devMode" value="true" />`,可以在不重启服务器的情况下看到配置的实时变化。 4. **Struts执行过程**:当一个请求到达时,Struts2首先解析`namespace`,用于区分不同的业务模块。接着,根据配置的动作映射选择合适的Action。Action的执行方法有三种:直接定义`execute()`方法,实现`Action`接口并覆盖`execute()`,或继承`ActionSupport`类,后者在实际开发中更为常见。 5. **路径问题**:获取应用的基路径是Web开发中的常见需求,可以通过Java代码或HTML的`<base>`标签来实现。例如,可以使用JSP表达式语言(EL)或脚本元素获取基础路径,并将其附加到链接中,以确保链接指向正确的位置。 6. **指定Action方法**:有两种方式指定要执行的方法。一是直接在配置文件中指定,二是使用Dynamic Method Invocation (DMI)。开启DMI(默认关闭)的配置是`<constant name="struts.enable.DynamicMethodInvocation" value="true" />`,这允许在URL中直接指定Action的方法名。 这些是Struts2基础知识的一部分,通过马士兵的课程,你可以深入理解这个框架的工作原理和使用技巧,从而更高效地进行Java Web开发。在实践中,还会涉及到更多内容,如拦截器、结果类型、国际化、异常处理等,这些都是构建高效、可维护的Struts2应用的关键点。