struts2配置文件改变DEMO
需积分: 0 67 浏览量
更新于2013-06-12
收藏 3.6MB RAR 举报
Struts2是一款强大的MVC(Model-View-Controller)框架,广泛应用于Java Web开发中。在Struts2中,配置文件起着至关重要的作用,它定义了应用的行为、请求映射以及各种拦截器的配置。这个"struts2配置文件改变DEMO"是用于展示如何修改Struts2的配置文件来改变应用的运行方式。
我们要了解Struts2的核心配置文件——`struts.xml`。这是一个XML文件,通常位于`src/main/resources`或`WEB-INF/classes`目录下,它定义了Action类、结果页面、拦截器链等关键元素。
1. **Action配置**:
在`struts.xml`中,通过`<action>`标签定义一个操作。例如:
```xml
<action name="helloworld" class="com.example.HelloWorldAction">
<result name="success">/hello.jsp</result>
</action>
```
这段配置表示当用户请求`helloworld`时,会调用`com.example.HelloWorldAction`类的execute方法,并将成功的结果重定向到`/hello.jsp`页面。
2. **结果配置**:
结果配置定义了Action执行后跳转的页面或者返回的数据。`<result>`标签可以指定名称(如`success`)、类型(如JSP、FreeMarker模板等)和路径。
3. **拦截器配置**:
Struts2的拦截器机制允许开发者在Action执行前后添加自定义逻辑。通过`<interceptors>`和`<interceptor>`标签定义拦截器,然后在`<action>`标签内使用`<interceptor-ref>`引用它们。例如:
```xml
<interceptors>
<interceptor name="timer" class="com.example.TimerInterceptor"/>
</interceptors>
<default-interceptor-ref name="defaultStack"/>
<action name="helloworld">
<interceptor-ref name="timer"/>
...
</action>
```
这里,我们创建了一个名为`timer`的拦截器,并将其添加到`helloworld` Action的执行链中。
4. **全局配置**:
除了特定Action的配置外,还可以定义全局配置,如全局结果、全局异常处理等。全局配置可以减少代码重复,提高代码可维护性。
5. **动态方法访问**:
如果开启动态方法访问(DMA),用户可以直接通过URL调用Action类的方法,如`/helloworld!sayHello.action`。这可以通过在`<struts>`标签中设置`package`属性为`struts-default`来实现。
6. **包的继承与包含**:
Struts2支持配置包的继承和包含,这样可以在多个Action之间共享相同的配置,提高代码复用。
7. **类型转换**:
Struts2提供了自动类型转换功能,但也可以自定义类型转换器。通过`<converters>`和`<converter>`标签,可以注册新的类型转换器。
8. **主题和皮肤**:
Struts2允许定制视图的样式和布局,通过`<package>`标签的`theme`属性可以设置默认主题。
在这个DEMO中,`hwh`可能是对某个特定Action或包的配置改动,比如更改了结果页面、添加了新的拦截器或者调整了Action的执行逻辑。具体细节需要查看`hwh`相关的配置文件内容来进一步分析。
理解并灵活运用Struts2的配置文件是优化和调试Java Web应用的关键。通过调整配置,可以实现更高效、更安全、更易于维护的应用程序。在实际开发中,应结合业务需求和最佳实践,合理配置Struts2,以达到理想的效果。
dev_hwh818
- 粉丝: 9
- 资源: 113
最新资源
- 基于Spring-boot和bootstrap搭建的商城系统全部资料+详细文档+源码+高分项目.zip
- 空中俯视物体检测21-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord数据集合集.rar
- html+css网页设计 美食 蛋糕美食7个页面
- 武新茹22048034实验五 LoadRunner测试.docx
- 基于SpringBoot+Dubbo构建的电商平台-微服务架构、商城、电商、微服务、高并发、kafka、Elasticsearch全部资料+详细文档+源码+高分项目.zip
- 基于SpringMVC+Hibernate实现的在线购物商城全部资料+详细文档+源码+高分项目.zip
- 基于tornado、peewee、jinja2的商城全部资料+详细文档+源码+高分项目.zip
- 基于vue+node+mongodb 实现一个锤子商城全部资料+详细文档+源码+高分项目.zip
- 基于Vue开发的XMall商城前台页面 PC端全部资料+详细文档+源码+高分项目.zip
- 基于Vue+Vuex+iView的电子商城网站全部资料+详细文档+源码+高分项目.zip
- 基于Vue+Vue-Router+Vuex+Element-ui+axios,参考小米商城,实现的电商项目全部资料+详细文档+源码+高分项目.zip
- 基于vue实现的移动端商城(vue+vuex-ruoter+axios)全部资料+详细文档+源码+高分项目.zip
- 基于wepy 商城(微店)微信小程序 全部资料+详细文档+源码+高分项目.zip
- 基于vue全家桶的移动端 电商商城全部资料+详细文档+源码+高分项目.zip
- 基于有赞 vant 组件库的移动商城全部资料+详细文档+源码+高分项目.zip
- 基于微信小程序的在线商城,采用wepy框架开发全部资料+详细文档+源码+高分项目.zip