struts2 基本配置
需积分: 0 124 浏览量
更新于2012-04-10
收藏 3.29MB ZIP 举报
Struts2是一个强大的Java web应用程序框架,用于构建和维护可扩展、模块化和易于管理的Web应用。它的基本配置是理解和使用Struts2的关键步骤,对于初学者来说尤其重要。以下将详细介绍Struts2的基本配置及其相关知识点。
一、Struts2的核心组件
Struts2的核心组件包括Action、Result、Interceptor(拦截器)等。Action是业务逻辑的执行者,Result负责处理Action执行后的结果,而Interceptor则是在Action调用前后进行额外操作的中间层。
二、配置文件
1. `struts.xml`: 这是Struts2的主要配置文件,用于定义Action、Result和Interceptor等。它通常位于项目的`src/main/resources/`目录下,或者在Web应用中放在`WEB-INF/classes`目录下。
三、Action配置
在`struts.xml`中,我们需要为每个Action定义一个配置元素。例如:
```xml
<action name="helloWorld" class="com.example.HelloWorldAction">
<result name="success">/HelloWorld.jsp</result>
</action>
```
这里的`name`属性是Action的唯一标识,`class`属性指定Action类的全限定名,`result`元素定义了Action执行成功后的跳转页面。
四、拦截器配置
拦截器可以实现通用功能,如日志、权限检查等。在`struts.xml`中,我们可以使用`interceptors`和`default-interceptor-ref`来配置拦截器链。例如:
```xml
<interceptors>
<interceptor name="logger" class="com.example.LoggerInterceptor"/>
<interceptor-stack name="myStack">
<interceptor-ref name="logger"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptor-stack>
<default-interceptor-ref name="myStack"/>
```
这里定义了一个名为`logger`的拦截器和一个自定义的拦截器栈`myStack`,并将`myStack`设置为默认拦截器栈。
五、结果类型配置
Struts2支持多种Result类型,如`dispatcher`(默认),`stream`,`redirect`等。在`result`元素中,`type`属性定义了结果类型,`name`属性与Action中的返回值对应。例如:
```xml
<result name="input">/input.jsp</result>
<result name="error">/error.jsp</result>
```
六、常量配置
Struts2还允许我们在`struts.xml`中配置全局常量,如:
```xml
<constant name="struts.devMode" value="true"/>
```
这会开启Struts2的开发模式,提供更丰富的错误信息。
七、Action映射与URL
Struts2通过Action映射来处理请求,如访问`http://localhost:8080/yourapp/helloWorld`会触发`helloWorld` Action。Action名称与URL的对应关系由`struts.xml`中的Action配置决定。
八、Action的参数传递
Struts2可以通过请求参数或Action的私有属性传递数据。例如,如果Action有一个名为`message`的属性,我们可以在JSP中使用`<s:textfield name="message"/>`,在Action中使用`@Param("message")`注解接收参数。
九、Struts2的生命周期
1. 请求到达:客户端发送HTTP请求。
2. 拦截器链:请求通过拦截器链,每个拦截器依次执行。
3. 执行Action:当拦截器处理完成后,执行Action方法。
4. 处理结果:根据Action返回的结果名,跳转到对应的Result。
5. 渲染视图:Result加载相应的资源(如JSP、Freemarker模板等)并渲染到客户端。
十、总结
理解并正确配置Struts2的基本元素,如Action、Result、Interceptor和常量,是掌握Struts2的关键。同时,了解其生命周期和请求处理流程,有助于更好地设计和调试应用。通过实践Struts2Demo项目,你可以加深对这些概念的理解,并逐步熟练运用到实际开发中。
gitlee
- 粉丝: 14
- 资源: 17
最新资源
- (175128050)c&c++课程设计-图书管理系统
- 视频美学多任务学习中PyTorch的多回归实现-含代码及解释
- 基于ssh员工管理系统
- 5G SRM815模组原理框图.jpg
- T型3电平逆变器,lcl滤波器滤波器参数计算,半导体损耗计算,逆变电感参数设计损耗计算 mathcad格式输出,方便修改 同时支持plecs损耗仿真,基于plecs的闭环仿真,电压外环,电流内环
- 毒舌(解锁版).apk
- 显示HEX、S19、Bin、VBF等其他汽车制造商特定的文件格式
- 操作系统实验 Ucore lab5
- 8bit逐次逼近型SAR ADC电路设计成品 入门时期的第三款sarADC,适合新手学习等 包括电路文件和详细设计文档 smic0.18工艺,单端结构,3.3V供电 整体采样率500k,可实现基
- 操作系统实验 ucorelab4内核线程管理