play plugin插件 兑现类似Servlet中的拦截器效果
play plugin插件 实现类似Servlet中的拦截器效果
play plugin和module的区别见:play Modules & 使用成熟的Java模块、框架、Spring & 模块和插件的区别
创建插件的步骤:
1,创建一个从play.PlayPlugin继承的类,然后覆盖其中的一些方法。
2,在conf目录下的play.plugins文件中注册这个插件,格式如:1003:myPackage.MyPlugin. 这里的数字是插件被调用的顺序。建议设置的值都大于1000,当然如果想要在play framework插件被调用之前调用自己的插件,也可以设置小于1000的值,具体设置成多少参考下面的play内置插件的调用顺序。[内置插件注册在play安装目录\framework\src\play.plugins]
参考play.PlayPlugin Javadoc,你可以轻松地实现在需要的时候对请求进行拦截,如下述的时机:
http://*.com/questions/4699250/how-to-extend-the-playframework
play plugin和module的区别见:play Modules & 使用成熟的Java模块、框架、Spring & 模块和插件的区别
创建插件的步骤:
1,创建一个从play.PlayPlugin继承的类,然后覆盖其中的一些方法。
2,在conf目录下的play.plugins文件中注册这个插件,格式如:1003:myPackage.MyPlugin. 这里的数字是插件被调用的顺序。建议设置的值都大于1000,当然如果想要在play framework插件被调用之前调用自己的插件,也可以设置小于1000的值,具体设置成多少参考下面的play内置插件的调用顺序。[内置插件注册在play安装目录\framework\src\play.plugins]
0:play.CorePlugin 100:play.data.parsing.TempFilePlugin 200:play.data.validation.ValidationPlugin 300:play.db.DBPlugin 400:play.db.jpa.JPAPlugin 450:play.db.Evolutions 500:play.i18n.MessagesPlugin 600:play.libs.WS 700:play.jobs.JobsPlugin 100000:play.plugins.ConfigurablePluginDisablingPlugin
参考play.PlayPlugin Javadoc,你可以轻松地实现在需要的时候对请求进行拦截,如下述的时机:
- 请求、响应生命周期
- binding绑定过程
- 应用程序的启动和关闭
- classload加载的时候
http://*.com/questions/4699250/how-to-extend-the-playframework