#应用程序全局设置
1.全局对象
在工程中定义全局对象可以允许你操作你的应用程序的全局设置。这个全局对象必须定义在根包下。
import play.*;
public class Global extends GlobalSettings {
}
2.应用程序启动和关闭的拦截
你可以重写onStart和onStop操作,通知对应的应用程序命周期事件。
import play.*;
public class Global extends GlobalSettings {
@Override
public void onStart(Application app) {
Logger.info("Application has started");
}
@Override
public void onStop(Application app) {
Logger.info("Application shutdown...");
}
}
3.提供一个应用程序错误页
当你的程序有异常发生时,onError操作会被调用。默认使用框架内部错误页,你可以重写它:
import play.*;
import play.mvc.*;
import static play.mvc.Results.*;
public class Global extends GlobalSettings {
@Override
public Result onError(Throwable t) {
return internalServerError(
views.html.errorPage(t)
);
}
}
4.处理action未找到
当框架找不到请求的action时,onActionNotFound操作会被调用:
import play.*;
import play.mvc.*;
import static play.mvc.Results.*;
public class Global extends GlobalSettings {
@Override
public Result onActionNotFound(String uri) {
return notFound(
views.html.pageNotFound(uri)
);
}
}
如果路由能找到,但是不能绑定请求参数时,onBadRequest操作会被调用。
import play.*;
import play.mvc.*;
import static play.mvc.Results.*;
public class Global extends GlobalSettings {
@Override
public Result onBadRequest(String uri, String error) {
return badRequest("Don't try to hack the URI!");
}
}
#拦截请求
1.重新onRequest
GlobalSettings类的一种重要概念是它提供了在请求被分发到action之前拦截请求,执行业务逻辑的方法。例如:
import play.*;
public class Global extends GlobalSettings {
@Override
public Action onRequest(Request request, Method actionMethod) {
System.out.println("before each request..." + request.toString());
return super.onRequest(request, actionMethod);
}
}
通过Action组件,也可以实现对指定Action方法的拦截。
分享到:
相关推荐
《Play Framework 2.0 - 创建你的第一个应用程序》 Play Framework 2.0 是一个开源的Web应用框架,它基于Scala和Java语言,遵循“模式-动作”(Action)架构,提供了一种轻量级、敏捷开发的方式。本篇文章将引导你...
Play Framework 2.0 是一个基于Java和Scala的开源Web应用程序框架,以其“写后即运行”的特性而闻名。这个入门教程的第三部分是关于如何使用Play Framework构建一个简单的留言板应用。在这里,我们将深入探讨Play ...
在这个“Play框架2.0入门教程(四)的源代码”中,我们主要探讨的是如何在Play框架下创建一个基于数据库的留言板应用。 首先,我们需要了解Play框架2.0的核心特性。这个版本引入了更加模块化的设计,支持Scala和...
而针对日益普及的安卓应用,银河麒麟推出了“优麒麟”x86和麒麟移动运行环境(KMRE)这一安卓兼容层,使得用户可以在银河麒麟系统上无缝运行安卓应用程序,极大地拓展了其应用范围。 KMRE,全称为Kirin Mobile Run-...
UPnP(Universal Plug and Play)是通用即插即用的缩写,是一种用于网络设备之间发现和通信的协议集。UPnP协议使得网络中的设备能够方便地彼此发现、自动配置并协同工作,从而简化了家庭和企业网络中设备的使用。...
将两者结合,即通过Play Framework集成Elasticsearch模块(Play-Framework-ElasticSearch-Module),可以极大提升应用程序的搜索能力和数据处理效率。 #### Elasticsearch:新一代搜索解决方案 Elasticsearch作为...
play20-spring-demo, 在播放 2.0应用程序中使用 spring 在播放 2.0应用程序中使用 spring的这是一个简单的应用程序演示如何将播放 2.0应用程序组件与 Spring Framework 应用程序集成。请注意,同样的技术可以应用到...
通过以上介绍,我们可以看到Play2.0框架提供了丰富的功能和工具,非常适合构建现代化的Web应用程序。Java开发者可以利用这些特性快速搭建出高效、可维护的应用程序。希望本文能够帮助Java开发者更好地理解和掌握Play...
在威派音乐网站v2.0的源码中,我们可以看到ASP技术的广泛应用,它允许开发者使用VBScript或JScript等脚本语言编写服务器端的代码,处理用户请求并返回动态内容。 ASP的核心组件包括以下几部分: 1. **脚本引擎**:...
更新播放 2.4.0添加测试规范Playframework 2.2.1 (Scala) 和 MongoDb (Salat) 的第一步使用 MongoDb 而不是 Anorm 的待办事项应用程序我们将为 MongoDb 使用 Salat 库( )。 Play 2 有一个替代的“mongo-jackson-...
什么是新的: 将 Scala 版本更新为 2.11.1 Playframework 2.3.1 (Java) 和 MongoDb (Jackson) 的第一步 不要忘记启动mongodb守护进程!... 运行应用程序: sbt run 如果运行本教程有任何问题,请报告,谢谢!
将Elasticsearch集成到您的Play... $ git clone https://github.com/eduardofcbg/playframework2-elasticsearch.git$ cd playframework2-elasticsearch$ sbt publish-local 在您的项目上,添加以下依赖项声明: ...
play-services-cast-framework-9.2.0.jar play-services-clearcut-9.2.0.jar play-services-contextmanager-9.2.0.jar play-services-drive-9.2.0.jar play-services-fitness-9.2.0.jar play-services-games-9.2.0....
`conf`目录下包含应用程序的配置文件`application.conf`,在这里可以设置Play框架的配置参数,比如数据库连接信息、服务器端口等。对于Kotlin的支持,可能还需要在配置文件中指定Kotlin编译器的版本。 `build.sbt`...
在“Play Framework应用程序框架 v3.0.1.zip”这个压缩包中,包含的是Play Framework的v3.0.1版本的相关资源。 首先,让我们深入了解Play Framework的核心特性: 1. **异步编程模型**:Play Framework使用Akka ...
使用Play Framework 2.0 +,jQuery,Backbone.js,Marionette.js和Postgresql用Java / Scala编写的ERP应用程序 开发人员虚拟机 您可以下载此zip文件,其中包含安装并配置了Ubuntu 16.04,PostgreSQL,PlayFramework...
这个版本的代号为WSA(Windows Subsystem for Android),它允许Windows用户在他们的操作系统上运行Android应用程序,而无需拥有一个真实的Android设备。WSA的版本号2310.40000.2.0表明这是一次重要的更新,可能包含...
Play Framework是一款基于Java和Scala的开源Web应用框架,它遵循模型-视图-控制器(MVC)架构模式,旨在提供高效、简洁且可测试的开发环境。标题中的"v2.7.9"指的是该框架的特定版本,通常每个新版本会包含性能优化...
使用 Play-Framework 2.3.x 的 Scala Oauth 2.0 在这个示例应用程序中,我们使用Oauth2.0创建带有Play-Framework 2.3.x 、 ReactiveMongo-Extensions 、 Cake-Pattern和Scala-Oauth2-Provider 的API。 我们使用 ...
它采用轻量级、非阻塞的服务端架构,特别适合开发高性能、可扩展的应用程序。Play Framework 通过其独特的设计理念简化了 Web 应用的开发过程,并支持实时双向通信。 - **版本历史**:自 2009 年发布以来,Play ...