第二节:Struts2配置文件详解-Struts.properties

不同版本的配置项及配置默认值不同,以下采用struts-2.3.15.3版本进行说明:

###无
## 该属性指定加载Struts2配置文件的配置文件管理器。该属性的默认值是org.apache.struts2.config.DefaultConfiguration
## 这是Struts2默认的配置文件管理器。如果需要实现自己的配置管理器,开发者则可以实现一个Configuration接口的类,该类可以
## 自己加载Struts2配置文件
# struts.configuration=org.apache.struts2.config.DefaultConfiguration

###了解-已测试
## 指定Web应用的默认Locale(使用浏览器采集信息)。
## 指定国际化语种类型,后续浏览器采集信息作废。
## 例如此处指定英文则页面展现英文,此处指定中文,则页面展现中文描述。
## 可以在此控制各种语言信息的测试,比修改区域简单。
# struts.locale=Locale

###了解-已测试
## 一。指定Web应用的默认编码集。该属性对于处理中文请求参数非常有用,对于获取中文请求参数值,
## 应该将该属性值设置为GBK或者BG2312
## 二。指定默认的编码方案,默认值为UTF-8,在解决中文乱码问题时,可尝试将其设为GBK或GB2312。
## 三。当设置该参数为GBK时,相当于调用HttpServletRequest的setCharacterEncoding方法
struts.i18n.encoding=UTF-8

## 一。指定这个属性可以覆盖默认的对象工厂。要提供自定义的实现,
## 需要从com.opensymphony.xwork2.ObjectFactory类继承,
## 并为改属性指定子类名。要主意的是,改属性的值在某些情况下也支持缩写,例如"spring"。
## 二。指定Struts2默认的ObjectFactory Bean,该属性默认值是Spring。
# struts.objectFactory = spring

## 一。指定当使用SpringObjectFactory时自动装配逻辑。有效的值包括:name、type、auto和constructor,默认值是name
## 二。指定Spring框架的自动装配模式,该属性的默认值是name,即默认根据Bean的name属性自动装配。
struts.objectFactory.spring.autoWire = name

## 指定在Strut2框架集成Spring时,Spring是否应该缓存类的实例。有效的值包括trut和false,默认值为true。通常情况下不建议修改该属性的值。
struts.objectFactory.spring.useClassCache = true

## 设置该常量为true保证自动装配策略总是有效。该常量默认值是false。
struts.objectFactory.spring.autoWire.alwaysRespect = false

## 指定对象类型检测机制。
## 默认使用com.opensymphony.xwork2.util.DefaultObjectTypeDeterminer类实现,
## 他使用泛型来处理类型检测。
## 你可以实现com.opensymphony.xwork2.util.ObjectTypeDeterminer接口的类作为替代,
## 并为改属性指定实现类的类名。
## 要主意的是,改属性的值也可以缩写,有效的值包括:tiger和notiger。
## 如果要关闭tiger支持,使用notiger属性值
#struts.objectTypeDeterminer = tiger
#struts.objectTypeDeterminer = notiger

## 该属性指定处理multipart/form-data的MIME类型(文件上传)请求的框架,该属性支持cos、pell和jakarta等属性值,
## 即分别对应使用cos的文件上传框架、pell上传及common-fielupload文件上传框架。该属性默认值为jakarta。
## 如果需要使用cos或pell的文件上传方式,则应该将对应的jar文件复制到web应用中。
# struts.multipart.parser=cos
# struts.multipart.parser=pell
struts.multipart.parser=jakarta

###了解-等搞上传文件时测试
## 指定文件上传的临时目录。默认使用javax.servlet.context.tempdir。
struts.multipart.saveDir=

###了解-等搞上传文件时测试
## 指定允许上传的文件最大字节数。默认值是2097152。
struts.multipart.maxSize=2097152

## 该属性指定Struts2应用加载用户自定义的属性文件,该自定义属性文件指定的属性不会覆盖struts.properties文件中指定的属性。
## 多个自定义属性文件的文件名以英文逗号隔开。
# struts.custom.properties=application,org/apache/struts2/extension/custom

## 指定org.apache.struts2.dispatcher.mapper.DefaultActionMapper接口的实现类,指定将HTTP请求映射到指定Action的映射器,
## 默认映射器根据请求的前缀与Action的name属性完成映射。
#struts.mapper.class=org.apache.struts2.dispatcher.mapper.DefaultActionMapper

## 指定struts2处理的请求的后缀,默认值是action,即所有匹配*.action的请求都由struts2处理。可以同事指定多个后缀名,各个后缀名之间以逗号分隔,例如:struts.action.extension=do,asp,aspx,php。
struts.action.extension=action,,

## 改属性由FilterDispatcher使用。可选的值为true和false,默认值是true。如果为true,那么Struts2将为他的jar包内的静态内容提供如果;如果为false,那么静态内容必须在<context_path>/struts下才可以访问。
struts.serve.static=true

## 指定浏览器是否缓存静态内容。可选的值为true和false,默认值为true。
## 注意,改属性只有在struts.serve.static=true的时候才有效。
## 在开发阶段,如果我们希望静态内容的改变能够在每一次请求中反映出来,则可以将这个属性设置为false。
struts.serve.static.browserCache=true

###了解-已测试
## 设置struts2是否支持动态方法调用。可选的值为true和false,默认为false(各版本不知是否均为false)。
## 是否允许ActionName!方法名称的调用方式,如果允许将引发Strts安全问题。
struts.enable.DynamicMethodInvocation = false

## 该属性设置Struts2是否允许在Action名中使用斜线,该属性的默认值是false。
## 如果开发者希望允许在Action名中使用斜线则可设置该属性为true。
struts.enable.SlashesInActionNames = false

### Disables support for action: prefix
## 有关S2-018漏洞的补丁
struts.mapper.action.prefix.enabled = false

### Blocks access to actions in other namespace than current with action: prefix
## 有关S2-018漏洞的补丁
struts.mapper.action.prefix.crossNamespaces = false

###了解
## 指定在struts2的标签中是否使用"%{}"的语法来计算标签的字符串属性中的表达式。可选的值为true和false,默认值为true。
struts.tag.altSyntax=true

###了解-已测试
## 指定是否使用开发模式。可选的值为true和false,默认值为false。当设置为true时,struts2将对开发者更为友好,这包括:
##       1)struts.i18n.reload = true
##       2)struts.configuraion.xml.reload = true
##       3)将各种调试或者可忽略的问题报告为错误

###true时,错误提示信息更多。
###true时,手动修改配置文件struts.xml文件立即生效。无需重启服务。
###true时,手动修改国际化文件立即生效,但是要刷新两次后生效。
###false时,错误信息提示少,
###false时,手动修改配置文件struts.xml文件无效,需要重启服务
struts.devMode = false

###了解-已测试
## 指定是否在每次请求时自动重新加载资源包
## 测试过程中struts.xml文件的修改无效果,但国际化文件的修改立即展现效果(需要刷新两次页面后生效)。
struts.i18n.reload=false

## 设置struts2的UI标签默认使用的主题。改属性默认值为xhtml
struts.ui.theme=xhtml

## 指定UI标签的模版文件存放的目录。改属性的默认值是template。即默认加载template路径下的模版文件。
struts.ui.templateDir=template

## 设置默认的模版类型,可以是ftl、vm或者jsp。改属性默认值为ftl。
## 分别对应FreeMarker、Velocity和JSP模版。
struts.ui.templateSuffix=ftl

###了解-已测试
## 指定当配置文件(struts.xml)改变时是否重新加载他。默认值是false。
struts.configuration.xml.reload=false

## 指定velocity配置文件的位置。改属性的默认值为velocity.properties。
struts.velocity.configfile = velocity.properties

## 该属性指定Velocity框架的Context位置,如果该框架有多个Context,则多个Context之间以英文逗号隔开。
struts.velocity.contexts =

## 该属性指定Velocity框架的toolbox的位置。
struts.velocity.toolboxlocation=

## 该属性指定Web应用所在的监听端口。该属性通常没有太大的作用,只是当Struts2需要生成URL时,
## 该属性才提供Web应用的默认端口
struts.url.http.port = 80

## 该属性类似于struts.url.http.port属性的作用,区别是该属性指定的是Web应用的加密服务端口。
struts.url.https.port = 443

## 指定url标签生成URL时是否包含请求参数,可选的值为:none、get和all,分别表示不包含、只包含get请求参数和包含所有请求参数。默认值none。
struts.url.includeParams = none

## 指定要加载的国际化资源包的基名,如果多个包,以逗号分隔。改属性未设置。
# struts.custom.i18n.resources=testmessages,testmessages2

## 某些应用服务器不支持HttpServletRequest的getParameterMap()方法的调用,
## 例如WebLogic、Orion和OC4J,这时可以将该属性设置为true。默认值false。
struts.dispatcher.parametersWorkaround = false

## 配置要使用的freemarker管理器类。改属性允许用户插入定制的freemarker管理器,
## 管理器必须扩展org.apache.struts2.views.freemarker.FreemakerManager类。该属性未设置。
#struts.freemarker.manager.classname=org.apache.struts2.views.freemarker.FreemarkerManager

## 指定是否缓存FreeMarker模版。默认值false。
struts.freemarker.templatesCache=false

### 该常量设置为true时可以启用FreeMarker的BeanWrapper缓存功能。该常量的默认值是false。
struts.freemarker.beanwrapperCache=false

### StrutsBeanWrapper对FreeMarker的BeansWrapper在Map类型的处理上做了一些改进,如果你要使用正常的BeansWrapper逻辑,将改属性设置为false,默认值为true。
struts.freemarker.wrapper.altMap=true

## 指定Freemaker中MruCacheStorage的maxStrongSize。
struts.freemarker.mru.max.strong.size=0

## 该属性指定XSLT Result是否使用样式表缓存。当应用处于开发阶段时,该属性通常被设置成true;
## 当应用处于产品使用阶段时,该属性通常设置为false
struts.xslt.nocache=false

## 是否总是用最后一个斜线前的URL段作为namespace(默认false)
struts.mapper.alwaysSelectFullNamespace=false

###了解
## 是否允许在OGNL表达式使用静态方法,默认值false
struts.ognl.allowStaticMethodAccess=false

###了解
## 是否在解析el表达式或无法找到属性时抛出RuntimeException(默认false)
struts.el.throwExceptionOnFailure=false

## 是否日志无发找到的属性(默认false)
struts.ognl.logMissingProperties=false

## 是否缓存ognl解析的表达式。但也会导致内存泄漏
struts.ognl.enableExpressionCache=true

### Indicates if Dispatcher should handle unexpected exceptions by calling sendError()
### or simply rethrow it as a ServletException to allow future processing by other frameworks like Spring Security
struts.handle.exception=true

### END SNIPPET: complete_file



























根据以上描述分为以下几类:

一,有助于开发调试的配置。建议在开发环境中开启,上线环境中关闭的属性;
###了解-已测试
## 指定是否使用开发模式。可选的值为true和false,默认值为false。当设置为true时,struts2将对开发者更为友好,这包括:
##       1)struts.i18n.reload = true
##       2)struts.configuraion.xml.reload = true
##       3)将各种调试或者可忽略的问题报告为错误

###true时,错误提示信息更多。
###true时,手动修改配置文件struts.xml文件立即生效。无需重启服务。
###true时,手动修改国际化文件立即生效,但是要刷新两次后生效。
###false时,错误信息提示少,
###false时,手动修改配置文件struts.xml文件无效,需要重启服务
struts.devMode = false

###了解-已测试
## 指定是否在每次请求时自动重新加载资源包
## 测试过程中struts.xml文件的修改无效果,但国际化文件的修改立即展现效果(需要刷新两次页面后生效)。
struts.i18n.reload=false

###了解-已测试
## 指定当配置文件(struts.xml)改变时是否重新加载他。默认值是false。
struts.configuration.xml.reload=false



## 指定浏览器是否缓存静态内容。可选的值为true和false,默认值为true。注意,改属性只有在struts.serve.static=true的时候才有效。在开发阶段,
如果我们希望静态内容的改变能够在每一次请求中反映出来,则可以将这个属性设置为false。
struts.serve.static.browserCache=true


## 指定url标签生成URL时是否包含请求参数,可选的值为:none、get和all,分别表示不包含、只包含get请求参数和包含所有请求参数。默认值get。
struts.url.includeParams = none


## 指定浏览器是否缓存静态内容。可选的值为true和false,默认值为true。
## 注意,改属性只有在struts.serve.static=true的时候才有效。
## 在开发阶段,如果我们希望静态内容的改变能够在每一次请求中反映出来,则可以将这个属性设置为false。
struts.serve.static.browserCache=true

二,有关应用系统配置参数

## 一。指定Web应用的默认编码集。该属性对于处理中文请求参数非常有用,对于获取中文请求参数值,
## 应该将该属性值设置为GBK或者BG2312
## 二。指定默认的编码方案,默认值为UTF-8,在解决中文乱码问题时,可尝试将其设为GBK或GB2312。
## 三。当设置该参数为GBK时,相当于调用HttpServletRequest的setCharacterEncoding方法
struts.i18n.encoding=UTF-8

## 指定允许上传的文件最大字节数。默认值是2097152。
struts.multipart.maxSize=2097152

## 指定在struts2的标签中是否使用"%{}"的语法来计算标签的字符串属性中的表达式。可选的值为true和false,默认值为true。
struts.tag.altSyntax=true

## 该属性指定XSLT Result是否使用样式表缓存。当应用处于开发阶段时,该属性通常被设置成true;
## 当应用处于产品使用阶段时,该属性通常设置为false
struts.xslt.nocache=false


## 是否允许在OGNL表达式使用静态方法 默认值false
struts.ognl.allowStaticMethodAccess=false

## 是否在解析el表达式或无法找到属性时抛出RuntimeException(默认false)
struts.el.throwExceptionOnFailure=false


## 是否缓存ognl解析的表达式。但也会导致内存泄漏
struts.ognl.enableExpressionCache=true

三,有关安全性的设置
## 设置struts2是否支持动态方法调用。可选的值为true和false,默认为false。
## 是否允许ActionName!方法名称的调用方式,如果允许将引发Strts安全问题。
struts.enable.DynamicMethodInvocation = false

有关漏洞的设置
### Disables support for action: prefix
struts.mapper.action.prefix.enabled = false

### Blocks access to actions in other namespace than current with action: prefix
struts.mapper.action.prefix.crossNamespaces = false


四,关于服务器配置

某些应用服务器不支持HttpServletRequest的getParameterMap()方法的调用,例如WebLogic、Orion和OC4J,这时可以将该属性设置为true。默认值false。
struts.dispatcher.parametersWorkaround
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值