- 浏览: 229024 次
- 性别:
- 来自: 北京
最新评论
-
星VS神:
能整个好点的 demo 吗?
htmlunit和爬虫问题 -
lanxia39:
对js的支持没你说的那么好,你用他取爬下淘宝
htmlunit和爬虫问题 -
aming831231:
请问下ebean可以执行原生sql语句吗?
Play framework 2.0 -访问SQL数据库 -
a286268373:
楼主威武,正好解决了我的问题。
Memcache连接出错的问题 -
zhouytao:
string2020 写道
public class Appl ...
Play framework 2.0 -应用程序全局设置
文章列表
所有章节的翻译到此结束,实现一个小应用作为结束!
按照play2.0官网的例子编写第一个play Application : todolist
步骤如下(详细的步骤及解释请查看原文):
先编写控制器如下:
aplication.java
package controllers;
import play.*;
import play.data.*;
import play.mvc.*;
import models.*;
import views.html.*;
public class Application exten ...
#测试应用程序
测试资源文件必须放在应用的test目录下。你可以通过play控制台使用test和test-only来执行测试任务。
1.使用JUnit
Play2.0默认使用JUnit进行测试。
package test;
import org.junit.*;
import play.mvc.*;
import play.test.*;
import play.libs.F.*;
import static play.test.Helpers.*;
import static org.fest.assertions. ...
#应用程序全局设置
1.全局对象
在工程中定义全局对象可以允许你操作你的应用程序的全局设置。这个全局对象必须定义在根包下。
import play.*;
public class Global extends GlobalSettings {
}
2.应用程序启动和关闭的拦截
你可以重写onStart和onStop操作,通知对应的应用程序命周期事件。
import play.*;
public class Global extends GlobalSettings {
@Override
...
#外部消息和国际化
1.指定应用程序支持的语言
要知道应用程序支持的语言,你需要一个有效的语言代码,指定一个有效的ISO语言代码,可选项跟一个有效的ISO国家代码,例如,fr or en-US。
在conf/application.con文件中指定你的应用程序支持的语言:
application.langs=en,en-US,fr
2.消息外部化
你可以在conf/messages.xxx文件中外部化消息。
默认的conf/messages文件匹配所有语言,你可以指定另外的语言信息(消息)文件。例如,conf/messages.fr,或者c ...
#与Akka集成
akka使用Actor模型,提高抽象层次,并提供一个更好的平台,建立正确的并发和可伸缩的应用程序。
对于容错,它采用“让崩溃模式,该模型已在电信业的巨大成功,主要用于建立自我修复 - 系统永不停止的应 ...
#Play的WS API
有时候你需要在Play应用中调用其他HTTP服务。Play通过它的play.libs.WS库提供了支持,它可以提供一种方式进行异步HTTP调用。
play.libs.WS产生的调用应当返回Promise<Ws.Response>类型,同Play的异步机制,你可以稍后处理它。
1.生成HTTP调用
要产生一个HTTP请求,首先你要使用WS.url()指定URL,然后得到一个生成器来指定HTTP选项,例如设置头等。
最后调用与你想要的HTTP相关的方法:
Promise<WS.Response> homePa ...
#Play缓存API
在现代应用程序中缓存数据是典型的优化方式,所以Play提供了一个全局缓存。缓存有一点很重要,存储在缓存中的数据可能会丢失。
对存储在缓存中的任意数据,生成策略需要落实到数据丢失的情况下。这个理念是Play的基础理念,不同与JAVA EE,JAVA EE中会话
值要在它的整个生命周期保存。
默认的缓存API实现使用EHCache。你也可以通过插件实现自己的缓存。
1.访问缓存API
play.cache.Cache对象提供了缓存API。这需要注册一个缓存插件。
这个API刻意做的很小用以运行各种实现被加入。如果你需要一个更具体的API,就 ...
#访问Sql数据库
1.配置JDBC连接池
play2.0提供了管理JDBC连接池的插件。你可以安装需要来配置许多数据库。
要启用数据库插件,就要在conf/application.conf文件中配置一个连接池。根据约定默认的JDBC数据源,必须调用缺省: ...
#处理文件上传
1.在表单中用multipart/form-data上传文件。
在web应用中标准的文件上传方式是在表单中使用一个特殊的"multipart/form-data编码,它允许标准表单数据和文件附件混合使用:
例如:
@form(action = routes.Application.upload, 'enctype -> "multipart/form-data") {
<input type="file" name="picture"&g ...
#XML请求的处理和服务
1.处理XML请求
xml请求是以有效的xml内容作为请求体的Http请求。它需要指定'text/xm"MIME类型的Content-Type头。
默认情况下,一个Action使用any content的BodyParser进行解析。你能把内容体转为XML。
...
#JSON请求的处理和服务
1.处理Json请求
Json请求是使用有效Json数据作为Http请求的请求体的。它的Content-type头必须指定为"text/json"或者"application/json"MIME类型。
默认的,一个动作使用any content 体解析器,你可 ...
#处理表单提交
1.定义一个表单
play.data包下包含一些帮助处理Http表单数据提交和校验的工具。最容易的处理表单提交的方式是定义一个play.data.Form来包装现有的类:
public class User {
public String email;
public String password;
}
Form<User> userForm = form(User.class);
注:底层数据绑定通过Spring的数据绑定实现。
这个表单可以生成一个User的结果值,值是HashMa ...
#模板引擎
1.基于Scala的类型安全的模板引擎
Play2.0的有个新的基于Scala的十分强大的模板引擎,它的设计灵感来自于ASP.NET的Razor。
具体来说:
a.紧凑、表现力、流畅:它最大限度的减少了一个文件中所需字符和按键的 ...
#处理异步结果
1.为什么使用异步Results?
直到现在,我们只能计算直接发送到客户端的result。这种方式并非总是奏效,result或许要花费高昂的计算代价,或者很长的web服务调用。
因为Play2.0工作时,action代码必须尽可 ...
#Actions,contorllers,和Results的概念。
1.Action
Action的概念很熟悉吧,Play应用中的大部分请求都有Action来处理。Action可以看作是一个处理请求数据并产生一个结果放回给客户端的简单Java方法。
Action返回play.mvc.Result,代表H ...