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 |