Rop配置文件说明

stamen 2012-05-25

如何指定Rop配置文件

Rop框架默认配置文件位于 :

/WEB-INF/<ropServletName>.properties


可以通过RopServlet的ropConfigLocation初始化参数手工指定配置文件的地址,如下所示:
    
<servlet>
        <servlet-name>rop</servlet-name>
        <servlet-class>
            com.rop.RopServlet
        </servlet-class>

        <!-- 如果不配置,默认为/WEB-INF/rop.properties -->
        <init-param>
            <param-name>ropConfigLocation</param-name>
            <param-value>/WEB-INF/sampleRop.properties</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>rop</servlet-name>
        <url-pattern>/router</url-pattern>
    </servlet-mapping>

这里,指定的Rop配置文件的地址为:
/WEB-INF/sampleRop.properties

地址支持Spring的资源表达式前缀,如
classpath:sampleRop.properties


Rop配置文件内容

Rop配置文件配置内容包括三部分,分别是自定义组件、应用错误码国际化资源、框架其它属性,下面分别说明。

Rop自定义组件

Rop框架允许定义多个组件,包括:
  1.会话检查组件:com.rop.SessionChecker
  2.服务安全检查组件:com.rop.SecurityManager
  3.应用密钥管理组件:com.rop.AppSecretManager
  4.拦截器组件:com.rop.Interceptor

Rop采用如下顺序加载组件实例:
引用

     1.首先查看Rop配置文件是否指定的组件实现类,如果配置文件没有指定,到下一步;
     2.按组件类型匹配的方式,查找Spring容器是否有对应的组件Bean,如果有,装配之,否则到一步;
     3.使用组件的默认实现,一般情况下,默认实现只是为了让Rop顺利跑起来,不太具体实际应用的功能。如com.rop.SessionChecker组件的默认实现为com.rop.validation.DefaultSessionChecker,接口方法直接返回为true,这相当于没有进行会话校验,因此开发者应当指定自定义的SessionChecker实现者。


以下是通过Rop配置文件指定自定义组件的配置片断:
##配置组件实现类
#########################################################################
##会话检查组件,默认为com.rop.validation.DefaultSessionChecker,即不对会话进行检查
sessionCheckerClassName=com.rop.sample.SampleSessionChecker

##安全校验组件,默认为com.rop.impl.DefaultSecurityManager,即不进行安全控制
securityManagerClassName=com.rop.sample.SampleSecurityManager

##应用密钥管理组件,默认为com.rop.validation.FileBaseAppSecretManager,
#即通过类路径下的rop.appSecret.properties属性文件管理appKey/secret对
appSecretManagerClassName=com.rop.sample.SampleAppSecretManager

#########################################################################

#拦截器名称,指定拦截器的类名,多个使用逗号分隔
interceptorClassNames=com.rop.sample.MyInterceptor


拦截器是可选的,可以不配置,也可以配置多个。

应用的错误码国际化资源

如请求数据校验,会话不正确,appKey不正确等错误消息,Rop框架会自动产生并进行国际化翻译,这些统一的错误码国际化资源文件随Rop框架的JAR一并发布,国际化资源位于类路径:
i18n/rop/error


除了这些统一的错误码之外,每个应用的开发框架都会有自己业务相关的错误码,如用户登录时,用户不存在,删除一条不能删除的记录等。这些业务错误码的国际化资源必须用户自己在应用中提供。

Rop默认假设您的业务相关的错误码国际化资源为:
ii18n/rop/ropError


你可以通过Rop配置文件手工显式指定业务错误码的国际化资源,如下所示:

##应用错误国际化信息(相对于类路径)
errorResourceBaseName=i18n/rop/sampleRopError


框架其它属性

目前Rop仅有一个其它的属性,即needCheckSign,该属性控制服务端是否要对请求的数据进行签名校验,默认为true。你可以将其设置为false,关闭服务端的请求数据签名校验,如下所示:

##是否有请求的签名进行校验,默认为true
needCheckSign=false


Global site tag (gtag.js) - Google Analytics