文档章节

Play框架拾遗之一:HTTP路由

奋斗到天明
 奋斗到天明
发布于 2015/08/27 16:23
字数 446
阅读 536
收藏 1
点赞 0
评论 0

这系列五篇文章,是我在涮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

关于Play(Play 2.0 介绍)

Play 2.0 介绍 2007开始,我们一直致力于让Java开发web应用更容易。Play始于一个内部项目Zenexity,它深刻影响了我们开发web项目的方式:关注开发者生产力,遵循web架构的特点,并打破常规,...

大东哥 ⋅ 2012/03/19 ⋅ 0

Play框架快速进行Java Web

您所在的位置:开发 > Java > Java框架 > 使用Play框架快速进行Java Web应用开发 使用Play框架快速进行Java Web应用开发 2010-11-17 12:59 成富 developerworks 我要评论(1) 字号:T | T Pla...

lhanoo ⋅ 2011/12/05 ⋅ 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

开源中国7-2期推荐 Java Web应用框架Play!

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

老枪 ⋅ 2010/07/12 ⋅ 2

Play框架拾遗之四:域模型与JPA支持

1、属性模拟 对于model,Play中字段都是public修饰符,但框架会自动生成setter与getter如: @Entity@Table(name="product ")public class Product extends BaseModel{ @Id public Long id; ......

刀狂剑痴 ⋅ 2015/08/27 ⋅ 0

Scala下Play框架学习笔记(Actions,Controllers and Results)

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

金明略 ⋅ 2016/12/22 ⋅ 0

Play之Scala-Web项目运行流程-简单分析(2)

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

hanzhankang ⋅ 2014/03/07 ⋅ 0

基于playframework v1构建一个新的Java web应用框架

正在考虑基于playframework v1构建一个新的Java web应用框架 动机: 我非常喜欢 playframework v1 但对v2不太感冒 v1中哪些特性应该保留: 字节码增强。 这个超酷的特性允许框架和插件作者在应...

罗格林 ⋅ 2012/12/07 ⋅ 5

中英文对照 介绍Play Framework 框架 路由(Route)

路由 h1. HTTP routing 路由组件负责将HTTP请求交给对应的action处理(一个控制器的静态公共方法) The router is the component in charge of translating incoming HTTP Requests into acti...

lyuehh ⋅ 2010/07/11 ⋅ 1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 今天 ⋅ 0

sbt网络问题解决方案

转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9unzip -q ./sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [reposit......

狐狸老侠 ⋅ 今天 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 今天 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 今天 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 昨天 ⋅ 0

聊聊spring cloud的RequestRateLimiterGatewayFilter

序 本文主要研究一下spring cloud的RequestRateLimiterGatewayFilter GatewayAutoConfiguration @Configuration@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMi......

go4it ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部