Struts2配置详解:修改默认请求路径与配置加载机制

3星 · 超过75%的资源 需积分: 0 16 下载量 14 浏览量 更新于2024-09-17 1 收藏 549KB PDF 举报
"吴老师教学_Struts2_配置文件" 在Java Web开发中,Struts2是一个流行的MVC框架,用于构建动态网站应用。本教程详细介绍了Struts2的配置文件,帮助开发者深入理解其工作原理。吴老师的教学资料提供了一个图文并茂的学习途径,旨在解答关于Struts2配置的疑惑。 在Struts2框架中,配置文件起着至关重要的作用,它们定义了框架的行为和组件的设置。以下是对关键知识点的深入解析: 1. **默认配置的修改**: Struts2默认将请求路径设置为`.action`,与Struts1中的`.do`不同。如果你想将Struts2的请求路径改回`.do`,你需要修改配置文件。虽然Struts2的`struts.xml`通常位于`src`目录下,但编译后会移动到`/WEB-INF/classes`。即使没有在`web.xml`中明确声明,Struts2依然能自动找到并加载`struts.xml`。 2. **配置文件加载**: - **`web.xml`**:这是应用的部署描述符,其中包含对Struts2框架执行环境的配置。例如,你可以在这里设置过滤器(`<filter>`和`<filter-mapping>`)来初始化Struts2,并配置全局的参数。 - **`struts.properties`**:这是Struts2的全局属性文件,可以设置框架的全局属性,比如开发模式、编码等。 - **`struts-default.xml`**:包含Struts2的默认配置,定义了许多基本行为,如拦截器栈和默认结果类型。`package`元素的`extends="struts-default"`就是继承这些默认设置。 - **`struts-plugin.xml`**:用来配置Struts2插件,定义插件的行为和依赖。 - **`struts.xml`**:应用级别的配置文件,用于定义Action、包(package)、结果(result)和拦截器等。你可以在这个文件中覆盖或扩展`struts-default.xml`的配置。 3. **配置文件的加载顺序**: - 首先,Struts2会读取`web.xml`,从中获取框架的启动信息和自定义的全局配置。 - 然后,加载`struts.properties`,这通常是系统级的配置。 - 接着,加载`struts-default.xml`,这是框架的默认行为。 - `struts-plugin.xml`用于加载插件,可以定制特定功能。 - 最后,加载应用的`struts.xml`,这里定义了具体应用的行为和配置。 4. **扩展和覆盖配置**: Struts2支持配置的继承和覆盖。例如,你可以在`struts.xml`中创建新的包(package),通过`extends`属性继承`struts-default`,然后在新包中覆盖或添加特定配置。 5. **日志观察**: 为了更好地理解配置加载过程,可以通过添加日志库(如Commons Logging或Log4j)来查看日志输出,这些输出通常会显示配置文件加载的详细信息。 6. **问题解答**: - 如何更改请求路径:在`struts.xml`中,你可以配置`<constant>`元素,将`struts.action.extension`的值改为`.do`。 - `struts.xml`的加载:由于Struts2的`FilterDispatcher`(或`StrutsPrepareAndExecuteFilter`在新版本中)会自动扫描`/WEB-INF/classes`目录下的`struts.xml`。 通过以上解释,你应该对Struts2的配置有了更深入的理解。继续学习吴老师的教程,你将能够熟练掌握Struts2框架的配置技巧,提升开发效率。