文档章节

Play框架拾遗之一:HTTP路由

奋斗到天明
 奋斗到天明
发布于 2015/08/27 16:23
字数 446
阅读 540
收藏 1

这系列五篇文章,是我在涮www.playframework.cn的读摘,记录了一下重要能用得着,但是又不太熟悉的内容,根据层次划分了五章。

1、路由语法

Play 支持HTTP中规定的GET/POST/PUT/DELETE/HEAD五个方法,同时也支持WebSocket的调用,如需要匹配多个方法可以用 * ,* 表示接受所有请求方法:

*   /clients/{id}             Clients.show

URI也支持多个动态部分,如: 

 /clients/{id}/accounts/{accountId}

URI支持正则表达式,如: 

/clients/{<[0-9]+>id}   #只允许接受id为数字的值 
 /clients/{<[a-z]{4,10}>id} #id是长度为4到10字符的小写单词

在URL中可以指定静态参数,如 

 GET            /pages/home                  Application.page(id:'home') 
 GET            /pages/{id}                    Application.page //当id = home时,两者配置等价,但是根据优先级,会选前者

2、提供静态资源

Play可以开放指定目录,存放静态资源。如:

GET    /public/           staticDir:public

 也可以开放文件: 

 GET     /home                   staticFile:/public/html/index.html

3、逆向生成URL

可以在Java代码中,反向生成请求的URL,如: 

 Conf/routes:
GET    /clients/{id}      Clients.show

 Java中: 

 map.put("id", 1541); 
 String url = Router.reverse("Clients.show", map).url;

 生成的数据: 

 GET /clients/1541

4、关于REST

REST全称为Respresentational State Transfer ,表述性状态传输,其关键规则有:

  • 应用的所有功能都被划分为资源

  • 每个资源都使用URI来唯一访问

  • 所有资源共享统一的接口用于客户端与资源之间进行状态传输

如果应用使用的是HTTP协议,那么这些接口是通过可用的HTTP方法来定义,HTTP协议往往通过以下方法来使用资源的状态:

  • 客户端-服务器模式。

  • 无状态模式。

  • 缓存模式。

  • 分层模式。

© 著作权归作者所有

共有 人打赏支持
奋斗到天明
粉丝 18
博文 112
码字总数 82707
作品 0
昌平
程序员
私信 提问
Play框架拾遗之三:模板引擎

1、模板语法 用表达式时,如下使用时,只有client不为null的情况下,才进行client.name的输出。 <h1>Client ${client?.name}</h1> 在应用中,模板引擎默认对所有的动态表达式进行转义,以此来...

奋斗到天明
2015/08/27
0
0
Play框架拾遗之五:其他知识点

1、Job异步处理 Job可以有结果返回: package jobs;import play.jobs.; public class MyJob extends Job<String> { public String doJobWithResult() { // 执行一些业务逻辑 return result; }......

奋斗到天明
2015/08/27
0
0
开源中国7-2期推荐 Java Web应用框架Play!

Play!是一个full-stack(全栈的)Java Web应用框架,包括一个简单的无状态MVC模型,具有Hibernate的对象持续,一个基于Groovy的模板引擎,以及建立一个现代Web应用所需 的所有东西。 Play!...

老枪
2010/07/12
2.6K
2
Scala下Play框架学习笔记(Actions,Controllers and Results)

Scala下Play框架的学习是一件辛苦的事情,因为该框架比较新,scala语言也较新,所以中文资料很少,经过同事推荐,去了如下英文网站看资料: https://www.playframework.com/documentation/2....

金明略
2016/12/22
0
0
Play之Scala-Web项目运行流程-简单分析(2)

为了方便开发,我们将此工程转化为Eclipse项目,然后通过sftp下载到本地并导入到Eclipse里分析! 如果您的项目还在运行,就关了(通过Ctr+C吧)它,然后进入play命令行下: [root@centos6-vb...

hanzhankang
2014/03/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

PHP生成CSV之内部换行

当我们使用PHP将采集到的文件内容保存到csv文件时,往往需要将采集内容进行二次过滤处理才能得到需要的内容。比如网页中的换行符,空格符等等。 对于空格等处理起来都比较简单,这里我们单独...

豆花饭烧土豆
今天
2
0
使用 mjml 生成 thymeleaf 邮件框架模板

发邮件算是系统开发的一个基本需求了,不过搞邮件模板实在是件恶心事,估计搞过的同仁都有体会。 得支持多种客户端 支持响应式 疼彻心扉的 outlook 多数客户端只支持 inline 形式的 css 布局...

郁也风
今天
8
0
让哲学照亮我们的人生——读《医务工作者需要学点哲学》有感2600字

让哲学照亮我们的人生——读《医务工作者需要学点哲学》有感2600字: 作者:孙冬梅;以前读韩国前总统朴槿惠的著作《绝望锻炼了我》时,里面有一句话令我印象深刻,她说“在我最困难的时期,...

原创小博客
今天
4
0
JAVA-四元数类

public class Quaternion { private final double x0, x1, x2, x3; // 四元数构造函数 public Quaternion(double x0, double x1, double x2, double x3) { this.x0 = ......

Pulsar-V
今天
18
0
Xshell利用Xftp传输文件,使用pure-ftpd搭建ftp服务

Xftp传输文件 如果已经通过Xshell登录到服务器,此时可以使用快捷键ctrl+alt+f 打开Xftp并展示Xshell当前的目录,之后直接拖拽传输文件即可。 pure-ftpd搭建ftp服务 pure-ftpd要比vsftp简单,...

野雪球
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部