#应用程序全局设置
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方法的拦截。
分享到:
相关推荐
通过以上介绍,我们可以看到Play2.0框架提供了丰富的功能和工具,非常适合构建现代化的Web应用程序。Java开发者可以利用这些特性快速搭建出高效、可维护的应用程序。希望本文能够帮助Java开发者更好地理解和掌握Play...
Struts2.0是Java Web开发中非常重要的一个框架,它是Apache软件基金会的Jakarta项目下的一个产品。...同时,掌握Struts2.0的源码也有助于向更高层次的Java Web框架,如Spring MVC或Play Framework的迁移。
Struts2.0 是一款基于MVC(Model-View-Controller)设计模式的Java Web框架,用于构建可扩展和维护性高的企业级应用程序。它的出现是由于Struts 1的局限性和性能问题,因此在Struts2中引入了WebWork的核心设计理念,...
Struts2是一个强大的Java web应用程序框架,用于构建MVC(模型-视图-控制器)架构的应用。它是对早期Struts1.0框架的改进和扩展,旨在解决其存在的诸多问题和局限性。以下是对Struts2基本使用和特性的详细介绍: 1....
XNA Game Studio Express作为其开发环境,集成了.NET Framework 2.0以及XNA Framework,为开发者提供了一套完整的工具链,简化了游戏开发流程。 #### XNA开发基础 ##### 游戏最基本代码 [BasicWindowsGame] - **...