java的dicon文件_配置文件参考

SAStruts使用的配置文件说明。

web.xml

Servlet容器用的配置文件,放置在WEB-INF目录下。sa-struts-tutorial工程放置在webapp/WEB-INF目录下。

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"

version="2.4">

sastruts.VIEW_PREFIX

/WEB-INF/view

encodingfilter

org.seasar.extension.filter.EncodingFilter

encoding

UTF-8

s2filter

org.seasar.framework.container.filter.S2ContainerFilter

hotdeployfilter

org.seasar.framework.container.hotdeploy.HotdeployFilter

routingfilter

org.seasar.struts.filter.RoutingFilter

jspDirectAccess

false

encodingfilter

/*

s2filter

/*

REQUEST

FORWARD

INCLUDE

hotdeployfilter

/*

REQUEST

FORWARD

INCLUDE

routingfilter

/*

REQUEST

action

org.apache.struts.action.ActionServlet

config

/WEB-INF/struts-config.xml

configFactory

org.seasar.struts.config.S2ModuleConfigFactory

1

s2container

org.seasar.framework.container.servlet.S2ContainerServlet

2

action

*.do

s2container

/s2container

*.jsp

false

UTF-8

false

/WEB-INF/view/common/common.jsp

JSP页面等表示层的文件的根目录通过sastruts.VIEW_PREFIX指定。根目录放在通过浏览器不能 直接访问的/WEB-INF的文件夹下比较好。

EncodingFilter是请求参数的编码过滤器。

S2ContainerFilter是Seasar2对请求以及响应的Servlet用的对象进行操作的过滤器。

HotdeployFilter是Seasar2对JAVA类变更后进行HOT应用的过滤器。

RoutingFilter对URL进行美化(Struts的.do之类的扩展名不显示)的过滤器。 默认,禁止对JSP直接访问,如果有此必要将参数jspDirectAccess设置为true。

filter标签和filter-mapping标签的顺序非常重要。 一定要记住按照上面的顺序进行定义。

ActionServlet是Struts用的Servlet。

S2ContainerServlet是Seasar2初始化和终止处理用的Servlet。 为了在ActionServlet之后进行启动,请将load-on-startup的值设置为比ActionServlet的load-on-startup的值更大。

S2ModuleConfigFactory是实现不使用struts-config.xml进行开发的类。

jsp-config标签的详细请参照这里。

struts-config.xml

Struts的配置文件。WEB-INF文件夹下。sa-struts-tutorial工程放在webapp/WEB-INF下。

/p>

"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"

"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">

maxFileSize="1024K"

bufferSize="1024"

processorClass="org.seasar.struts.action.S2RequestProcessor"

multipartClass="org.seasar.struts.upload.S2MultipartRequestHandler"/>

factory="org.seasar.struts.util.S2PropertyMessageResourcesFactory"/>

property="pathnames"

value="/WEB-INF/validator-rules.xml"/>

controller标签的processorClass属性设为S2RequestProcessor。 通过S2RequestProcessor,按照SAStruts的实现方式对请求进行处理。multipartClass属性设为S2MultipartRequestHandler。 通过S2MultipartRequestHandler,文件上传时发生文件超大的异常的时候,能够得到响应的异常信息。(Struts不能取得)。

message-resources标签设定为S2PropertyMessageResourcesFactory。 通过S2PropertyMessageResourcesFactory异常信息的变更能及时反映。

plug-in标签设置为S2ValidatorPlugIn。 通过S2ValidatorPlugIn检测注释的变更能及时反映。

validator-rules.xml

在WEB-INF下的validator-rules.xml中对验证进行定义。 对于示例工程sa-struts-tutorial,在webapp/WEB-INF文件夹下。SAStruts是用Struts标准的validator-rules.xml文件, 但是增加了minbytelength、maxbytelength、longRange验证的定义。

classname="org.seasar.struts.validator.S2FieldChecks"

method="validateMinByteLength"

methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction,

org.apache.commons.validator.Field,

org.apache.struts.action.ActionMessages,

org.apache.commons.validator.Validator,

javax.servlet.http.HttpServletRequest"

depends=""

msg="errors.minbytelength"/>

classname="org.seasar.struts.validator.S2FieldChecks"

method="validateMaxByteLength"

methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction,

org.apache.commons.validator.Field,

org.apache.struts.action.ActionMessages,

org.apache.commons.validator.Validator,

javax.servlet.http.HttpServletRequest"

depends=""

msg="errors.maxbytelength"/>

classname="org.seasar.struts.validator.S2FieldChecks"

method="validateLongRange"

methodParams="java.lang.Object,

org.apache.commons.validator.ValidatorAction,

org.apache.commons.validator.Field,

org.apache.struts.action.ActionMessages,

org.apache.commons.validator.Validator,

javax.servlet.http.HttpServletRequest"

depends="long"

msg="errors.range"/>

app.dicon

app.dicon是应用启动时最先读入的文件。app.dicon应该放在Class-path定义的路径下,sa-struts-tutorial放在src/main/resources目录下。

app.dicon

/p>

"http://www.seasar.org/dtd/components24.dtd">

class="org.seasar.struts.interceptor.ActionMessagesThrowsInterceptor"/>

为了读取别的定义文件,使用了标签include,被include文件也可以include别的文件, 支持include嵌套。 以app.dicon为根节点,形成了一棵配置文件树。

aop.dicon是调试等常用拦截器的定义文件,包含在s2-framework-xxx.jar中。 拦截器,方法调用前后的AOP的模块。AOP的详细介绍, 请参照这里。

j2ee.dicon是事物拦截器的定义文件,包含在s2-extension-xxx.jar中。

s2jdbc.dicon是S2JDBC的定义文件。

为了拦截Action以外发生的信息、 以便于使用ActionMessages(html:errors)来输出而使用了拦截器ActionMessagesThrowsInterceptor。 关于拦截器ActionMessagesThrowsInterceptor的详细信息, 请参照这里。

convention.dicon

convention.dicon用来定义约定。sa-struts-tutorial工程放置在src/main/resources文件夹下。

convention.dicon

/p>

"http://www.seasar.org/dtd/components24.dtd">

class="org.seasar.framework.convention.impl.NamingConventionImpl">

"tutorial"

class="org.seasar.framework.convention.impl.PersistenceConventionImpl"/>

addRootPackageName的tutorial,根据项目的实际填写。 根目录的定义详细,请参照这里。

env.txt

env.txt用来定义Seasar2的运行环境。sa-struts-tutorial工程放置src/main/resources目录下。

默认定义了下列运行环境。

ut单元测试环境。

ct集成测试环境。

it综合测试环境。

product实际运行环境。没有定义env.txt时的默认的环境。

env.txt设置为ct的时候,Seasar2能够使用热部署(HOT deploy)。sa-struts-tutorial工程、env.txt设置为ct。

env.txt为it或product(没有)设置的时候。Seasar2只能进行冷部署(COOL deploy)。 冷部署的时候,当JAVA类进行了修改后只能重启来进行更新。但是相对于热部署而言,执行速度高。

env.txt为ut的时候,Seasar2为缓部署(WARM deploy)。 缓部署的时候,即不能马上识别JAVA类的更新,也不需要通过重启服务来进行应用部署。 而是利用已部署应用的缓存,使用已经用过的组件来实现高速响应。

热部署的时候,所有已部署的内容全部破弃,request需要的组件全部重新部署。

缓部署相对于冷部署的优点是,应用重启快。 例如,冷部署的时候,1个测试实例只使用了一个组件的时候,也重新部署所有的组件。 而缓部署的时候,指重新部署需要的组件,从而测试实例能够高速执行。而且,测试的时候,也不需要热部署。

env_ut.txt

在文件env_ut.txt中定义使用S2Unit进行单体测试的环境,sa-struts-tutorial工程中,放置在src/main/resources文件夹中,env_ut.txt的値设置为ut。

s2container.dicon

s2container.dicon是Seasar2自己进行定制的配置文件。sa-struts-tutorial工程,放置在src/main/resources目录下。

/p>

"http://www.seasar.org/dtd/components24.dtd">

根据include标签的condition属性值,当满足特定的条件时,加载对应的设置文件#ENV是env.txt里定义的值。 条件使用OGNL进行定义。warmdeploy.dicon、hotdeploy.dicon、cooldeploy.dicon文件包含在s2-framework-xxx.jar中。

根据env.txt里定义的值,通过s2container.dicon里的不同判断条件,来使用Seasar2的不同部署方法。

creator.dicon

creator.dicon是自动生成目录包.action等JAVA的配置情报的设定文件。ます。sa-struts-tutorial工程,在src/main/resources目录下。

/p>

"http://www.seasar.org/dtd/components24.dtd">

class="org.seasar.framework.container.creator.ActionCreator"/>

class="org.seasar.struts.creator.FormCreator"/>

class="org.seasar.framework.container.creator.ServiceCreator"/>

class="org.seasar.framework.container.creator.DtoCreator"/>

class="org.seasar.framework.container.creator.InterceptorCreator"/>

action、form、service等等不同的包对应的Creator进行了定义。

customizer.dicon

customizer.dicon是对Creator生成的配置信息进行定制的设定文件。sa-struts-tutorial工程在src/main/resources目录下。

/p>

"http://www.seasar.org/dtd/components24.dtd">

class="org.seasar.framework.container.customizer.CustomizerChain">

"aop.traceInterceptor"

"actionMessagesThrowsInterceptor"

class="org.seasar.framework.container.customizer.TxAttributeCustomizer"/>

class="org.seasar.struts.customizer.ActionCustomizer"/>

class="org.seasar.framework.container.customizer.CustomizerChain"/>

class="org.seasar.framework.container.customizer.CustomizerChain">

"aop.traceInterceptor"

class="org.seasar.framework.container.customizer.TxAttributeCustomizer"/>

为了对action和Servic的配置进行定制, 追加了actionCustomizer和serviceCustomizer的定义。

aop.traceInterceptor是追踪用的日志输出的拦截器,在aop.dicon里进行了定义。

actionMessagesThrowsInterceptor是对action以外,用ActionMessages(html:errors)来对信息进行输出的拦截器,已经在app.dicon里进行了定义。

TxAttributeCustomizer是为了实现自动事物处理而进行的定制。 詳細请参考这里。

ActionCustomizer是Action被部署时, 对Struts的配置信息进行自动更新的类,也是SAStruts里最重要的类。

jdbc.dicon

jdbc.dicon是定义数据库连接的配置文件。sa-struts-tutorial工程在src/main/resources目录下。

jdbc.dicon的详细信息,请参照这里。

s2jdbc.dicon

S2JDBC使用的配置文件。sa-struts-tutorial工程在src/main/resources目录下。

s2jdbc.dicon的详细信息,请参照这里。

log4j.properties

log4j使用的配置文件sa-struts-tutorial工程在src/main/resources目录下。

log4j.category.org.seasar=DEBUG, C

log4j.additivity.org.seasar=false

log4j.category.tutorial=DEBUG, C

log4j.additivity.tutorial=false

log4j.appender.C=org.apache.log4j.ConsoleAppender

log4j.appender.C.Target=System.out

log4j.appender.C.ImmediateFlush=true

log4j.appender.C.layout=org.apache.log4j.PatternLayout

log4j.appender.C.layout.ConversionPattern=%-5p %d [%t] %m%n

log4j.rootLogger=INFO, A1

log4j.appender.A1=org.apache.log4j.ConsoleAppender

log4j.appender.A1.layout=org.apache.log4j.PatternLayout

log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

tutorial部分的定义,设置为根目录名。 根目录的详细信息,请参照这里。

Tomcatのserver.xml

使用Tomcat,在GET请求出现文字乱码的时候,conf/server.xml的Connector标签如下所示进行定义。

使用Tomcat,URL出现乱码的时候。、conf/server.xml的Connector如下所示进行定义。UTF-8 的部分,根据encodingfilter的设定进行调整。

Tomcatのcontext.xml

使用Tomcat,热部署的情况下, 保存在Session里的ActionForm或者Dto可能失效 这是因为,Tomcat对Session进行序列化,Seasar2不能进行访问的情况下不能进行反向序列化。

为了部队Seesion进行序列化,反向序列化, 去掉conf/context.xml的标签Manager的注释。

消息资源

应用程序使用的消息,在xxx.properties里定义。sa-struts-tutorial工程在src/main/resources目录下有application(_ja).properties文件。

多语言对应的时候使用xxx_ja.properties。xxx部分,在struts-config.xml的标签message-resources的parameter属性里设定。

factory="org.seasar.struts.util.S2PropertyMessageResourcesFactory"/>

推荐使用PropEdit进行多语言properties文件设定

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值