![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
play 2.6
nyzzht123
这个作者很懒,什么都没留下…
展开
-
Play 2.6 抵御CSRF
抵御跨站伪造请求https://playframework.com/documentation/2.6.x/JavaCsrfCSRF是一个安全漏洞,攻击者通过受害者的浏览器在会话期间发起一个请求。由于每一个请求都会带有session token,如果攻击者能够迫使被害者浏览器以自己的身份发出请求,那么也能以用户的名义发出请求。建议你了解以下CSRF,了解一下什么是攻击向量什么不是,可以翻译 2018-01-11 17:14:35 · 1177 阅读 · 0 评论 -
Play 2.6 内容协商
内容协商https://playframework.com/documentation/2.6.x/JavaContentNegotiation内容协商是这样一种机制,对于同一个URI,可能返回不同的服务形式,例如对于Web Services 可以返回不同的输出格式(XML,JSON等)。服务驱动协商使用Accept*形式的请求头。语言可以通过 play.mvc.Http.Requ翻译 2018-01-08 20:07:50 · 187 阅读 · 0 评论 -
Play 2.6 异步处理结果
异步处理结果英文原文 https://playframework.com/documentation/2.6.x/JavaAsync创建异步的controllerPlay是一个自底向上的异步框架,play处理所有的request都是异步、非阻塞的。默认的方式是使用异步的controller。换句话说,contrller中的应用代码需要避免阻塞,i.e.不能等待某一个操作。场景的阻翻译 2018-01-09 14:54:11 · 1614 阅读 · 0 评论 -
Play 2.6 Streaming HTTP response
Streaming HTTP response标准的响应及Content-Length从HTTP1.1开始,服务端为了在single connection下对HTTP请求及响应提供服务,需要在response中提供响应的Content-Length。默认情况下,不需要显示的指明Content-Length,比如以下的例子public Result index() {翻译 2018-01-09 14:59:50 · 785 阅读 · 0 评论 -
Play 2.6 Comet
CometComet是指基于 HTTP 长连接的“服务器推”技术,是一种不需要客户端主动请求,服务端可以主动让客户端推送消息的技术。英文原文 https://playframework.com/documentation/2.6.x/JavaComet#using-chunked-responses-with-comet使用chunked response来实现Cometch翻译 2018-01-09 17:32:21 · 215 阅读 · 0 评论 -
Play 2.6 WebSocket
WebSocketsWebSockets是一种支持全双工通信的套接字。现代的html5通过js api使得浏览器天生支持webSocket。但是Websockets在移动端以及服务器之间的通信也非常有用,在这些情况下可以复用一个已经存在的TCP连接。处理WebSockets一般Play通过action来处理http请求,但是WebSockets是完全不同的,没法使用action来处翻译 2018-01-09 17:34:16 · 1035 阅读 · 0 评论 -
Play 2.6 模板中的依赖注入
模板中的依赖注入通过使用构造器,模板可以被生成为一个class而不是一个静态对象。这就意味着模板可以被直接注入到Controller中,并且可以自己管理依赖。假设我们有一个组件Summarizer,这个组件不会被Controller使用package services;public interface Summarizer { /** Provide short form o翻译 2018-01-10 08:44:51 · 347 阅读 · 0 评论 -
Play 2.6 Twirl模板常见用法
模板常见用法英文原文 https://playframework.com/documentation/2.6.x/JavaTemplateUseCases布局可以声明一个view/main.scala.html模板作为模板@(title: String)(content: Html)html> head> title>@titletitle> head翻译 2018-01-10 08:48:00 · 625 阅读 · 0 评论 -
Play 2.6 为Twirl添加自定义的格式
为模板引擎添加自定义的格式原文地址 https://playframework.com/documentation/2.6.x/JavaCustomTemplateFormatTwirl内建的模板引擎支持大多数常用的格式(HTML,XML等),如果有需要的话也可以添加自己的格式。模板引擎处理过程模板引擎通过添加模板中的静态、动态内容来构建最终结果,考虑以下的例子:fo翻译 2018-01-10 09:00:15 · 368 阅读 · 0 评论 -
Play 2.6 表单
Java表单英文原文 https://playframework.com/documentation/2.6.x/JavaForms在使用表单之前,可以先看一下Play enhancer,Play enhancer为Java类中的域生成访问方法,这样你就不需要手动添加这些代码,这也许会为你提供一些便利。下面展示的例子都是手工生成访问方法的。启用/禁用表单组件默认情况下,如果启动P翻译 2018-01-10 19:17:54 · 761 阅读 · 0 评论 -
Play 2.6 Twirl表单工具
Form template helpers英文原文 https://playframework.com/documentation/2.6.x/JavaFormHelpers#form-template-helpers创建一个标签helper会根据反转路由信息自动设置action和method的值@helper.form(action = routes.Applicati翻译 2018-01-10 19:38:10 · 247 阅读 · 0 评论 -
Play 2.6 模版引擎Twirl
模板引擎英文原文 https://playframework.com/documentation/2.6.x/JavaTemplates基于Scala类型安全的模板引擎Play使用的模板引擎为Twirl。具有以下特点(略过不译): - compact, expressive, and fluid: it minimizes the number of characters an翻译 2018-01-09 19:16:33 · 707 阅读 · 0 评论 -
Play 2.6 拦截Http请求
拦截Http请求英文原文 https://playframework.com/documentation/2.6.x/JavaActionCreatorPlay提供的Java API提供了两种方式拦截action请求。第一种为ActionCreator,这种方法提供了一个creationAction方法用来创建action组合中使用的初始action。第二种为实现HttpReques翻译 2018-01-08 20:03:58 · 1806 阅读 · 3 评论 -
Play 2.6 Action组合
英文原文地址 https://playframework.com/documentation/2.6.x/JavaActionsCompositionAction compositionaction是一个返回play.mvc.Result对象的方法。实际上play在内部将actions当作functions管理(Actually, Play manages internally ac翻译 2018-01-08 20:01:29 · 1351 阅读 · 0 评论 -
Play 2.6 Body Parser
Body parsers一个http请求包含了一个请求头和一个请求体,头部信息比较短,可以安全的保存在内存中,在Play中头部信息使用RequestHeader类进行建模。请求体的内容可能较大,使用流stream的形式进行建模,Play提供了一个BodyParser抽象用于将流中的信息转换为内存对象。由于Play是一个异步框架,对流的处理不实用Java中的InputStream,因为该方法翻译 2018-01-08 19:48:34 · 477 阅读 · 0 评论 -
Play 2.6 Play enhancer
Play enhancer英文原文 https://playframework.com/documentation/2.6.x/PlayEnhancerPlay enhancer是sbt的一个插件,用来产生Java bean的get set方法,并且重写了那些通过getters和setters来获取域的代码。动机Java的一大缺点就是一个简单的东西需要一大堆样板代码,这其中最翻译 2018-01-11 17:18:59 · 354 阅读 · 0 评论 -
Play 2.6 访问SQL数据库
访问SQL数据库Note: JDBC是一种阻塞操作。你不能直接在controller中运行JDBC查询语句。详见配置CustomExecutionContext章节配置JDBC连接池Play提供插件来管理连接池,你可以根据需要配置多个数据库。 为了启动数据库插件,需要添加以下依赖:libraryDependencies += javaJdbc然后需要字applica翻译 2018-01-11 20:02:59 · 1124 阅读 · 0 评论 -
Play 2.6 使用Ebean
Ebean的使用https://playframework.com/documentation/2.6.x/JavaEbean配置EbeanPlay自带Ebean。首先在project/plugins.sbt中添加插件addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "4.0.1")然后在build.sbt中启用翻译 2018-01-12 10:27:01 · 1891 阅读 · 0 评论 -
Play 2.6 在Play中使用缓存
使用缓存https://playframework.com/documentation/2.6.x/JavaCache对数据进行缓存是一种很常见的优化方式,Play也提供了全聚德缓存。对于cache有一点很重要,缓存只能做缓存能做的:你刚保存的数据也许会丢失。对于任何保存在缓存中的数据,当数据丢失时需要一个重新生成的策略。这个哲学存在于Play的基础之中,而且与Java EE不同,se翻译 2018-01-12 19:43:59 · 1992 阅读 · 0 评论 -
Play 2.6 使用Play WS调用REST API
使用Play WS调用REST APIhttps://playframework.com/documentation/2.6.x/JavaWS又是我们需要去访问别的HTTP服务器的资源。PLAY提供了WS类库来支持异步的HTTP调用。在使用WS API时有两个部分:发出请求,处理响应。我们首先会介绍如何发出GET和POST请求,然后展示如何通过类库来处理响应,最后介绍一下常见的用法。翻译 2018-01-12 19:45:41 · 4536 阅读 · 0 评论 -
Play 2.6 Play对OpenID的支持
Play对OpenID的支持https://playframework.com/documentation/2.6.x/JavaOpenIDOpenID是一种协议,允许使用一个帐号来登入多个服务。作为一名Web开发这,你可以让用户使用一个他们已经拥有的账户(比如谷歌账户)来登录。在企业内,可以使用OpenID来连接SSO服务。OpenID的流程用户想给你提供了他的OpenID翻译 2018-01-12 19:47:26 · 317 阅读 · 2 评论 -
Play 2.6 OAuth的使用
OAuthhttps://playframework.com/documentation/2.6.x/JavaOAuthOAuth是一个发布和交互受保护数据的简单方法。这是一种更加安全的访问方式。举个例子,你可以去获取用户在Twitter上的数据。OAuth有两个版本,1.0和2.0。第二个版本在不使用类库的情况下也很容易实现。因此Play只对1.0版本进行了支持。使用添加翻译 2018-01-12 19:48:29 · 374 阅读 · 0 评论 -
Play2.6.10安装配置
Play2.6.10安装配置Play2.6.10只需拥有sbt即可sbt安装连接sbt 0.13.13及以上版本可以通过sbt new application命令创建种子工程javasbt new playframework/play-java-seed.g8scalasbt new playframework/play-scala-seed.g8已经安原创 2018-01-05 15:25:37 · 1134 阅读 · 0 评论 -
Play 2.6 路由
routersconf/routers文件中配置路由信息 一条路由信息包括两个部分:http方法(get、post等)请求路径无参路由routers文件GET /count controllers.CountController.count代码package controllers;import pl原创 2018-01-06 14:17:03 · 661 阅读 · 0 评论 -
Play 2.6 设置Response
设置Response文档原地址 https://playframework.com/documentation/2.6.x/JavaResponse修改默认的Content-TypePlay会根据返回内容的Java值自动填充content-typeResult textResult = ok("Hello World!");会将Content-Type填充为text/翻译 2018-01-08 19:29:31 · 758 阅读 · 0 评论 -
Play 2.6 Session and Flash scope
Session and Flash scope如果想要在多次http请求间保存数据,可以将数据保存在会话或者flash scope中,保存在会话中的数据在整个用户会话期间都有效,保存在flash中的数据只在下次请求中可用。session和flash中的数据没有保存到服务端中,而是通过cookies的方式添加到下一次的请求中,所以保存的数据十分有限(4KB)且只能保存StringSe翻译 2018-01-08 19:45:30 · 340 阅读 · 0 评论 -
Play 2.6 依赖注入
依赖注入https://playframework.com/documentation/2.6.x/JavaDependencyInjectionPlay对实现了JSR 330的依赖注入提供了支持。Play自带的默认的实现是Guice,其他实现也可以添加进来。为了启用Guice模块,先要在依赖中添加信息libraryDependencies += guiceGuice wiki...翻译 2018-02-13 13:48:29 · 1121 阅读 · 2 评论