Struts配置文件解释:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
<!-- 请求参数的编码方式 -->
<constant name="struts.i18n.encoding" value="UTF-8"/>
<!-- 指定被struts2处理的请求后缀类型。多个用逗号隔开 -->
<constant name="struts.action.extension" value="action,do,go,xkk"/>
<!-- 当struts.xml改动后,是否重新加载。默认值为false(生产环境下使用),开发阶段最好打开 -->
<constant name="struts.configuration.xml.reload" value="true"/>
<!-- 是否使用struts的开发模式。开发模式会有更多的调试信息。默认值为false(生产环境下使用),开发阶段最好打开 -->
<constant name="struts.devMode" value="false"/>
<!-- 设置浏览器是否缓存静态内容。默认值为true(生产环境下使用),开发阶段最好关闭 -->
<constant name="struts.serve.static.browserCache" value="false" />
<!-- 指定由spring负责action对象的创建
<constant name="struts.objectFactory" value="spring" />
-->
<!-- 是否开启动态方法调用 -->
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>
<!-- Struts2中使用包来管理一组Action -->
<!-- package的属性
name: 指定包名。要唯一。方便于其它包的继承。
extends: 指定要继承的包名。一般是struts-default
namespace: 指定命名空间。不指定时,使用默认命名空间,默认命名空间为""
abstract: 指定是否为抽象包。抽象包中不能有Action的配置。
-->
<package name="mystruts" extends="struts-default" namespace="/msg">
<!-- action标签用来注册一个Action.常用属性
name: action的名字,用于匹配请求URI。必须的。不能出现"/"
class: 指定Action处理类的全限定名。未指定时,默认是ActionSupport。而ActionSupport的execute() 方法默认处理就是返回一个success字符串。
method: 指定要调用的处理方法.不指定时,默认调用execute方法
converter: 指定本Action类要使用到的转换器的全限定名
-->
<action name="*" class="com.javacrazyer.action.MsgAction" method="{1}">
<!-- result配置结果映射
name:指定结果的逻辑名。
type: 指定跳转的方式。默认是值dispatcher,表示请求分派。常用还有:redirect(重定向), freemarker(使用模板技术解析目标资源)
-->
<result name="success" >/success.jsp</result>
</action>
</package>
</struts>
对于比较复杂的实际项目来说,可能struts.xml中需要写非常多的类似代码,那么为了方便管理,可以将相关的写在别的xml文件中,然后再引入到struts.xml中来,效果也是一样
比如,在src/META-INF/struts2文件下有这么几个xml:struts2-login.xml、struts2-deliver.xml、struts2-order.xml、struts2-member.xml、struts2-system.xml等,这几个xml分别对应为
struts2-login.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.objectFactory" value="spring" />
<constant name="struts.objectFactory.spring.autoWire" value="name" />
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<constant name="struts.configuration.xml.reload" value="true" />
<constant name="struts.action.extension" value="action"></constant>
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<constant name="struts.ognl.allowStaticMethodAccess" value="true" />
<!-- 引入struts2其他类似配置文件 -->
<include file="META-INF/struts2/struts2-login.xml" />
<include file="META-INF/struts2/struts2-member.xml" />
<include file="META-INF/struts2/struts2-system.xml" />
<include file="META-INF/struts2/struts2-order.xml" />
<include file="META-INF/struts2/struts2-deliver.xml" />
<package name="default" namespace="/" extends="struts-default, json-default">
<!-- 定义拦截器 -->
<interceptors>
<interceptor name="appInterceptor"
class="com.javacrazyer.action.AppInterceptor" />
<interceptor-stack name="appInterceptorStack">
<interceptor-ref name="appInterceptor" />
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="appInterceptorStack"/>
<default-action-ref name="index" />
<global-results>
<result name="login">/index.jsp</result>
<result name="postRequest">/postRequest.jsp</result>
<result name="errorPage">/errorPage.jsp</result>
</global-results>
<action name="index">
<result type="redirectAction">
<param name="actionName">Login_Action</param>
<param name="namespace">/</param>
</result>
</action>
</package>
<!-- Add packages here -->
</struts>
分享到:
相关推荐
要深入学习和掌握Struts2,建议阅读官方文档,参与实际项目实践,也可以参考相关的技术书籍和教程,例如《Struts2技术内幕——深入解析Struts2架构设计与实现原理》等资源,来提升对Struts2框架的全面理解。
总之,《Struts2技术内幕——深入解析Struts2架构设计与实现原理》配合《struts2基础.chm》,将帮助读者全面掌握Struts2的架构设计、核心组件、配置方式、插件使用以及源码解读,对于想要在Java Web领域深入发展的...
Struts2支持国际化,开发者可以为不同语言的用户提供相应的资源文件,通过配置轻松实现界面语言切换。 **8. 数据验证** Struts2的Validation框架允许开发者定义数据验证规则,可以在Action级别或全局级别进行验证,...
然后厘清了Web开发中极易混淆的一些重要概念,以及Struts2的核心技术、宏观视图、微观元素、配置元素等,提纲挈领地对Struts2进行了多角度的讲解。核心技术篇首先分析了Struts2中多种具有代表性的设计模式,然后对...
这篇博客“Struts2 ——2、各种Action写法和配置”着重讲解了在Struts2框架中如何创建和配置不同的Action,以便更好地理解和运用这个框架。 在Struts2中,Action是处理用户请求的核心组件,它负责业务逻辑的处理,...
Struts2支持XML配置和注解配置两种方式。XML配置文件主要用于定义Action、结果类型、拦截器栈等,而注解则可以更直观地在Action类或方法上标注,简化配置过程。 五、拦截器 拦截器是Struts2的一大特色,它可以定义...
Struts2的Struts.properties配置文件详解 Struts2是一个基于MVC模式的Web应用程序框架,它提供了一个名为Struts.properties的配置文件,该文件用于配置Struts2的各种参数和设置。下面将对Struts.properties配置文件...
《SSM框架整合详解——基于spring-mybatis-struts2-master的实战分析》 在Java Web开发领域,SSM(Spring、Struts2、MyBatis)框架的组合被广泛使用,因其灵活性和强大的功能而备受青睐。本篇文章将深入探讨这个...
总的来说,"Struts2 技术内幕——深入解析Struts2架构设计"这本书将带你深入理解Struts2的工作原理,包括其架构设计、核心组件、配置方式、数据绑定、异常处理以及安全性等方面。通过对这些知识点的掌握,开发者能够...
### Struts2配置文件介绍 #### 一、Struts2的核心配置文件 在Struts2框架中,有多个重要的配置文件用于控制应用的行为与结构,其中最核心的是`struts.xml`文件。此外还包括`web.xml`、`struts.properties`、`...
struts2+spring+hibernate 配置文件struts2+spring+hibernate 配置文件
在你提供的压缩包中,可能包含了Struts2框架的所有核心组件、依赖库和必要的配置文件,这些都是构建基于Struts2的应用所必需的。 首先,我们来看一下Struts2的核心组件: 1. **Action类**:这是业务逻辑的载体,...
这本书《Struts2技术内幕——深入解析Struts2架构设计与实现原理》深入探讨了Struts2的核心机制和设计理念,旨在帮助开发者更好地理解和运用这个框架。 首先,Struts2的出现是为了解决Struts1在MVC模式中的局限性,...
3. **Struts配置**:在struts-config.xml中配置Action,指定处理图片上传请求的Action类。 4. **文件处理**:在Action类中,使用Apache Commons FileUpload库解析上传的多部分请求,将文件保存到服务器的特定目录。 ...
本篇文章将深入探讨Struts2的核心配置文件——`struts.xml`以及与之配合的`web.xml`配置。 首先,`struts.xml`是Struts2框架的主要配置文件,它定义了动作(Actions)、结果(Results)、拦截器(Interceptors)等...
在使用Struts2进行开发时,有一些关键的包和配置文件是必不可少的,它们构成了Struts2的基础框架。 首先,我们需要了解Struts2的核心库。这些库通常包括以下JAR文件: 1. `struts2-core.jar`:这是Struts2的核心...
这个压缩包“struts2所有包和配置文件”包含了Struts2框架运行所需的核心组件和配置文件。 首先,让我们详细了解一下`web.xml`。这是每个Java Web应用的标准部署描述符,用于配置应用程序的基本设置,比如Servlet、...
在Struts2中,要启用文件上传,首先需要在`struts.xml`配置文件中添加`struts.multipart.parser`属性,通常设置为`jakarta`或`common`。`jakarta`是基于Apache Commons FileUpload库,而`common`则是Struts1时代的...