play plugin和module的区别见:[url=http://desert3.iteye.com/admin/blogs/1490279]play Modules & 使用成熟的Java模块、框架、Spring & 模块和插件的区别[/url]
创建插件的步骤:
1,创建一个从[color=red]play.PlayPlugin[/color]继承的类,然后覆盖其中的一些[url=www.playframework.org/documentation/api/1.2.3/play/PlayPlugin.html]方法[/url]。
2,在conf目录下的[color=red]play.plugins[/color]文件中注册这个插件,格式如:[color=blue]1003:myPackage.MyPlugin[/color]. [color=red]这里的数字是插件被调用的顺序。建议设置的值都大于1000[/color],当然如果想要在play framework插件被调用之前调用自己的插件,也可以设置小于1000的值,具体设置成多少参考下面的play内置插件的调用顺序。[内置插件注册在[color=blue]play安装目录\framework\src\play.plugins[/color]]
参考[url=http://www.playframework.org/documentation/api/1.2.3/play/PlayPlugin.html#method_summary]play.PlayPlugin Javadoc[/url],你可以轻松地实现[color=red]在需要的时候对请求进行拦截[/color],如下述的时机:
[list]
[*]请求、响应生命周期
[*]binding绑定过程
[*]应用程序的启动和关闭
[*]classload加载的时候
[/list]
[url]http://stackoverflow.com/questions/4699250/how-to-extend-the-playframework[/url]
创建插件的步骤:
1,创建一个从[color=red]play.PlayPlugin[/color]继承的类,然后覆盖其中的一些[url=www.playframework.org/documentation/api/1.2.3/play/PlayPlugin.html]方法[/url]。
2,在conf目录下的[color=red]play.plugins[/color]文件中注册这个插件,格式如:[color=blue]1003:myPackage.MyPlugin[/color]. [color=red]这里的数字是插件被调用的顺序。建议设置的值都大于1000[/color],当然如果想要在play framework插件被调用之前调用自己的插件,也可以设置小于1000的值,具体设置成多少参考下面的play内置插件的调用顺序。[内置插件注册在[color=blue]play安装目录\framework\src\play.plugins[/color]]
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
参考[url=http://www.playframework.org/documentation/api/1.2.3/play/PlayPlugin.html#method_summary]play.PlayPlugin Javadoc[/url],你可以轻松地实现[color=red]在需要的时候对请求进行拦截[/color],如下述的时机:
[list]
[*]请求、响应生命周期
[*]binding绑定过程
[*]应用程序的启动和关闭
[*]classload加载的时候
[/list]
[url]http://stackoverflow.com/questions/4699250/how-to-extend-the-playframework[/url]