Play应用程序使用MVC架构模式来作为Web开发的基础架构。
MVC架构模式把应用程序分成三层:表现层,视图层,模型层
下图是play framework在MVC层次上对于http请求的处理流程:
请求生命周期:
Play framework是
无状态的并且是面向request、response的。所有的请求都遵从下述的处理流程。
- framework接收到一个http请求
- Router路由组件根据conf/routes的配置,找到请求对应的控制层方法并调用它
- 控制层方法被执行
- 如果需要生成一个复杂的视图,那么对相应的模板文件做render渲染操作
- 执行结果(http响应码和内容)输出到http response中
标准应用程序目录:
为了使事情变得更加简单,使用COC约定优于配置的思想,对应用程序目录进行了如下的标准化约定:
app目录:存放所有可执行的组件:java源代码、视图模板文件。
app目录下有controllers,models,views3个标准目录,分别对应MVC模式中的一层。同时也可以自己增加一些packages,如utils、jobs等
在使用play framework时,
不要去寻找编译好的java class文件。框架在运行时编译java源代码并且把编译好的class文件在临时目录中以字节码缓存的形式保存。
在play框架中主要的可执行组件就是java源文件而不是编译好的class文件。
views目录进一步被组织层:tags(存放应用程序标签,如存放可重用的模板片段),
每一个views文件夹对应一个Controller(根据约定,每个控制器关联的模板文件都存储在自己对应的目录中)。
public目录:存放静态的资源文件,并且直接通过play web服务器对外提供服务。里面包含3个标准子目录:images,javascripts,stylesheets,分别用来放图片,js脚本,css。默认情况下,/public目录和/public URL对应。当然也很容易通过如下配置改变这一点,同时也可以有多个目录同时提供静态资源。
GET /public/ staticDir:public
conf目录:存放所有应用程序的配置文件。其中最主要的2个是
application.conf(应用程序的主配置文件,包含很多标准的配置选项。你也可以在里面增加自定义的应用程序参数,然后在程序中通过Play.configuration.getProperty("param1.test")来取值)和
routes(路由定义文件)。
如果有lib包或者程序文件需要配置文件,那么也可以放置在这里。这个conf目录是被包含在classpath里面的。
lib目录:包含程序需要的所有jar包,也会被自动包含在classpath中
开发生命周期:
使用play框架是没有编译、打包、发布等阶段。Play框架包含有2种mode:
DEV mode使用在程序开发阶段,PROD mode使用在程序发布后。
DEV/PROD mode的切换通过修改conf目录下application.conf 文件中application.mode键的值来实现。
DEV mode的时候,play框架会自动检测文件变更并在需要的时候reload进来。Java代码在运行时被编译和加载,如果在程序运行时修改了java代码,那么这些代码会被自动重新编译并热交换到JVM中。在DEV模式下,如果一个编译错误发生,那边出错的内容和原因都会被现实在浏览器上。在DEV模式下,JPDA调试环境也会默认开始,默认端口8000。
PROD mode是为产品环境优化的模式,
java源代码、模板都只被编译一次并缓存起来为后面的所有用户提供服务。
http://www.playframework.org/documentation/1.0/main
- 大小: 37.1 KB
- 大小: 111 KB
分享到:
相关推荐
Playframework是一个无状态的面向请求/回应的框架,所有的HTTP请求都遵循下面的处理流程: Playframework是一个无状态的面向请求/回应的框架,所有的HTTP请求都遵循下面的处理流程: 框架接收到一个HTTPRequest ...
play framework api,play! framework api,play api
Play-Utils 是一个专门为 Play Framework 开发的实用工具包模块
1. Play Framework 介绍 2. 创建和发布 Play 应用 2.1 创建 Play 的工程 2.2 Play 常用指令 2.3 Play 应用的 JVM 调优 3. 如何读取静态资源 4. Play框架的配置文件 5. 使用 Play 框架开发 Java 应用 5.1 HTTP...
Play Framework Cookbook.pdf
playframework javaweb playframework javaweb
Play Framework最新教程(12年),play框架教程
Mastering Play Framework for Scala
Playframework 1.2.7 sdk zip包
Play framework框架
play framework2.01上半部分。
PlayFramework框架验证.pdf
开发生命周期 - 11 - 连接到java调试器 - 12 - 类增强Enhancement - 13 - 02.HTTP路由 - 13 - 关于REST - 14 - routes文件语法 - 14 - HTTP方法 - 15 - URI范示 Pattern - 15 - Java调用定义 - 17 - 把404当作action...
Play Framework Cookbook
Play框架肩负了臃肿的企业级java ee规范,易restful为目标专注于开发效率,是java敏捷开发的最佳参考方案
Play Framework Essentials 英文原版,学习 play 框架的最佳入门。
通过简单的代码和思路写了play framework的简单的小例子,包括添加页面进行的routes配置,页面跳转,页面之间的数据传递等方面。暂时未使用h2内置数据库及ArrayList、HashMap在页面之间的数据传递。
Leverage the awesome features of Play Framework to build scalable, resilient, and responsive applications First published: May 2015 274page
PlayFramework框架安全模块.pdf
playframework学习资料 play学习资料