业务逻辑是在域模型中层里进行管理,客户端无法直接调用业务逻辑代码,客户端是通过资源的URI来访问域对象。

客户端使用HTTP协议中提供的统一方法来访问这些特定资源,并隐式调用底层的业务逻辑。

在play框架中,控制器其实就是一个java类,位于controllers包中,继承了父类play.mvc.Controller

简单实例:
public class Clients extends Controller {
public static void show(Long id){
Client client = Client.findById(id);
render(client);
}
public static void delete(Long id){
Client client = Client.findById(id);
client.delete();
}
}

play将所有的模板文件都放在app/views目录下,所有页面都是在请求时解析的。

app/views目录说明:
Application:存放应用主controller程序的模板
errors:存放错误页面模板,例如404/500等
main.html:主页面模板
play框架的set指令用于设置页面的标题,这些指令都要进行关闭,最后一行打印欢迎信息
play框架使用render方法来处理参数的传递。比如我们在controller中读取一些数据,病将这些数据传递到view中进行显示。
render(hello),在模板中获取变量用${hello}

play框架自带很多的标签,但是可以自己创建一些,我们现在views目录下创建名为tags的子目录。

play框架默认使用jQuery发送Ajax请求。也提供了jsAction标签透明的从控制器得到一个定义的方法。

play有一个缓存的库,当需要在分布式的系统中使用时,用的是memcached.如果不配置memcached,play会使用独立的缓存,将数据存放在jvm的堆中。
当你把数据放进缓存里的时候,你不能期望数据永远保存在哪里,缓存很快,但是数据会失效,而且环迅通常只存在在内存里(如果没有持久化备份的话)。
所以使用缓存最好的办法是在你不需要它的时候清空它。
缓存API是由类play.cache.Cache提供的,这个类包含了一系列的方法,可以设定,替换,得到缓存中的值。

play框架的Scala模块
play包含了对Scala编程语言的支持,要启用Scala支持只需要在conf/application.conf文件中配置:
module.scala=${play.path}/modules/scala
接下来就可以在已有的应用中使用scala来编写代码,也可以是java和scala混合编码。
不建议在生产环境中完全使用scala来编写play应用。

Scala编写应用的步骤:
创建应用:
play new myApp –with scala
一旦使用这个命令创建应用后,controllers包中的Application.java就变成了Application.scala文件
Scala应用可以直接让某个方法返回值
def index = “

hello world


处理Action的参数
def index(name:String) =

hello {name}

还可以定义默认值
def index(name:String = “Guest”) =

hello {name}

如果使用了默认值,那么一旦请求中不包含指定的参数,play会自动用默认值替代。

使用play发送邮件:
可以使用play.libs.Mail工具类发送邮件。
bc.Mail.send(“sender@abc.com”,”recipient@abc.com”,”Subject”,”Message”);

play不是一个需要添加到Servlet容器中的类库,而是一个可以独立运行你的应用的全栈式Java框架。

play!framework框架概述相关推荐

  1. Tapestry框架概述

    Tapestry带来了真正的Java web应用程序OOP编程,摘自<深入浅出Tapestry>中的一句话.这本书也是我学习Tapestry的参考之一,其他参考资料如<Tapestr ...

  2. [转载] 快速学习-Mybatis框架概述

    参考链接: Java在竞争性编程中的快速I/O 第1章 框架概述 1.1 什么是框架 1.1.1 什么是框架 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互 ...

  3. java day53【 Mybatis框架概述 、 Mybatis 框架快速入门、自定义 Mybatis 框架 】

    第1章 框架概述 1.1 什么是框架 1.1.1 什么是框架 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种 定义认为,框架是可被应用开发者定 ...

  4. Spring框架概述

    Spring框架概述 Spring是一个Service层的框架,可以整合许多其它框架进行工作. Spring的主要技术是 IOC(DI) AOP IOC(DI) - 控制反转(依赖注入) AOP - ...

  5. Spring入门到精通:第一章 基础入门:1.Spring框架概述

    Spring入门到精通:第一章 基础入门:1.Spring框架概述 前言:为什么要学习Spring框架? 为什么要学习Spring框架呐? (1)使用广泛:现在很多的企业都有Spring的影子,不管是 ...

  6. iOS之图形处理框架概述和GPUImage处理框架的使用

    iOS图形处理框架概述:OpenGL ES,Metal,Core Graphics,Core Image,GPUImage,Scene Kit (3D) ,Sprite Kit (2D),OpenCV ...

  7. 2021年大数据Spark(一):框架概述

    目录 Spark框架概述 Spark 是什么 分布式内存迭代计算框架 官方定义: Spark框架概述 Spark 是加州大学伯克利分校AMP实验室(Algorithms Machines and Pe ...

  8. .Net 初步学习笔记之一——.Net 平台与.Net FrameWork框架的关系

    .Net 包含两部分 .Net平台 和.Net FrameWork 框架 1..Net FrameWork框架包含于.Net平台. .Net FrameWork提供环境和支撑保证.Net平台运行. 2 ...

  9. php excel 组件,Yii Framework框架使用PHPExcel组件的方法示例

    本文实例讲述了Yii Framework框架使用PHPExcel组件的方法.分享给大家供大家参考,具体如下: PHPExcel下载地址http://www.yiiframework.com/exten ...

最新文章

  1. 内存性能参数详解(转载)
  2. [置顶]       安全-用户身份验证
  3. 关于网页制作的规划与流程图的使用
  4. energy计算机电脑,energy management
  5. jQuery图表插件Flot
  6. WPF 绑定StaticResource到控件的方法
  7. C语言对stm32f103程序,STM32F103WIFI程序C语言
  8. Intel® Nehalem/Westmere架构/微架构/流水线 (8) - 重复字符串指令增强
  9. mysql分页总页数算法解析_详解MySQL的limit用法和分页查询语句的性能分析
  10. URL地址 长度超出限制问题解决
  11. selenium中键盘操作:Keys类
  12. 如何实现bat一键关机
  13. matlab怎样求线性方程组,MATLAB线性方程组求解
  14. 解决:return _compile(pattern, flags).search(string) TypeError: expected string or buffer
  15. Unity3D 对于在VR中普通摄像头和VR摄像头同时存在——分屏
  16. 系统架构设计基础(一)
  17. 机械设计自动化行业现在吃香吗?有前途吗?
  18. filecoin space race
  19. 下标运算符究竟是单目运算符还是双目运算符
  20. 区块链基础理论与研究概况(前沿版)

热门文章

  1. 深度学习笔记 第五门课 序列模型 第三周 序列模型和注意力机制
  2. 网易云信给您拜年啦!
  3. 【人物专访】朱玲——我在网易云当女程序媛
  4. JavaScript 调试
  5. Promise-Polyfill源码解析(2)
  6. 微服务Apache ServiceComb 数据一致性Saga演进介绍
  7. MyBatis知多少(6)表现层与业务逻辑层
  8. jQuery用面向对象的思想来编写验证表单的插件
  9. velocity 遍历map
  10. HP Network Team #1: PROBLEM