本文由Chaos翻译自Play官方文档。他的blog
原文见:http://www.playframework.org/documentation/1.1.1/main
Play Framework是一个Rails风格的Full-stack Java Web框架。
sun4love补充:
Play!的关键特性:
1、一个非常简单的开发周期。此框架自动编译和重新装载源文件的任何改变。
2、智能捆绑HTTP参数到Java方法参数。
3、基于Apache Mina的快速HTTP服务器。
4、一个基于Groovy的强大的模板引擎,具有多层继承,定制用户标签的能力,等。
5、优秀的错误报告功能:当发生异常,此框架会直接显示出错代码,甚至是模板代码。
MVC模型
Play应用遵循Web架构使用的MVC架构模式。
它将应用分离到不同的层中:表现层(Presentation)和模型层(Model)。表现层进一步分为视图(View)和控制器(Controller)。
-
Model 是应用所处理信息的领域表述(Domain-Specific Representation)。绝大多数应用使用持久化机制如数据库存储数据。但是MVC并没有特别提到数据访问层,因为它属于下层,由模型封装。
-
View 将模型渲染成适合交互的表单,通常是用户界面。一个模型可有多个不同目的视图。Web应用中,View通常以HTML,XML或JSON形式呈现,也可能是二进制的Chart。
-
Controller处理事件(通常是用户动作),并对模型做相应改变。Web应用中,事件通常是HTTP请求:Controller监听HTTP请求,从其中提取数据,如查询字符串参数,请求头,然后改变下层模型对象。
Play将此三层分在app目录下的不同package中。
app/controllers
一个Controller就是一个Java 类,它的静态公共方法则是动作(Action)。动作是接收HTTP请求后的Java处理入口点。Controller类实际是面向过程的,非OO。Action从HTTP请求中提取数据,读或更新Model对象,然后返回一个包装成HTTP响应(HTTP Response)的结果。
app/models
Model是一组具有所有OO特性的Java类。包含数据结构和应用可使用的操作。(译注:即充血模型)。支持通过JPA持久化。
app/views
应用的视图由Play的模板系统生成。Controller从Model获取数据,然后使用模板呈现它。此package包含HTML,XML等模板文件,用作动态生成模型的表述(Representation)。
请求生命周期
Play是完全无状态的(stateless),且仅面向请求-应答(Request-Response)。所有请求遵循相同路径:
- 框架收到一个HTTP请求
- Router匹配请求和Controller、Action,执行动作方法。
- 应用代码执行
- 绘制模型,呈现视图
- 动作方法的结构作为HTTP响应返回。
应用程序布局
app目录
包含所有可执行的工件:Java源代码和视图模板。其下有三个标准package,每个代表MVC的一层。你也能添加你自己的包,如示例的utils包。
View pacakge可以在分子packages:
-
tags 存储应用的ta。如可重用的模板片段。
-
一个Controller一个view目录,按惯例,每个Controller的相关模板存储在自己的子目录中。
.class文件在哪儿?
Play在运行时编译Java源代码,并将编译的类缓存在tmp\bytecode目录下。Play应用的可执行工件时.java源文件,不是已编译的.class(译注:包括jar文件)。
public目录
存储静态的、由Web服务器直接处理的资源。分为三个子目录:images,stylesheets和javascripts,分别放图片,css和js。
conf目录
包含应用的所有配置文件。两个必须文件为:
- application.conf: 应用主配置文件,包含所有标准的配置选项。
- routes:url路由规则定义文件。
此目录包含在Java ClassPath中。
lib目录
存放应用依赖的标准Java类库。此目录自动添加到Java classpath中。
开发生命周期
使用Play开发时没有编译,打包和部署这些阶段,代之两个不同环境:用于开发阶段的DEV模式和用户部署阶段的PROD模式。
Java源代码在运行时编译和加载。如果Java源文件在应用运行时发生改变,代码会重新编译并热加载(hot-swapped)到JVM中。模板文件也是如此。
关于DEV/PROD模式
通过application.mode配置属性切换DEV或PROD。DEV模式下,Play会检查并在必要时热加载。PROD模式为产品做了优化:Java源文件和模板仅编译一次。
调试
开发模式下通过JDPA连接到8000端口远程调试。(译注:原文此处很简略,实际上可远程调试,也可本地调试)
本文来自 倚楼听风雨 的博客,sun4love提醒转载请准包含该作者的链接
http://www.cnblogs.com/Chaos/archive/2011/04/16/2018315.html
- 大小: 34 KB
- 大小: 100.6 KB
分享到:
相关推荐
Play Framework 是一个开源的Web应用框架,用于构建现代、高性能的Java和Scala应用程序。它采用模型-视图-控制器(MVC)架构模式,并且强调简洁的代码和开发的即时反馈。Play Framework API 是开发者使用该框架进行...
在学习Play Framework时,建议从官方文档开始,了解基本概念和配置。然后,通过创建一个简单的示例项目来实践,逐步掌握路由、控制器、模型、视图和模板的使用。同时,深入学习Akka和异步编程对于充分利用Play的优势...
这个“playframework中文教程.zip”压缩包很可能是为了帮助中文用户更好地理解和学习Play Framework而准备的资源。 Play Framework 的主要特点包括: 1. **轻量级**:与传统的Java EE规范相比,Play Framework ...
无论是初学者还是有经验的开发人员,都可以从中学习到如何有效地使用 Play Framework 来构建高效稳定的 Web 应用。 - **核心章节内容**: - **基础设置与配置**:包括环境搭建、项目初始化、配置文件解读等基础...
在“Playframework框架学习之路 1”中,我们可能要探讨这个框架的基础概念、安装过程以及如何创建一个简单的应用。下面将详细介绍Play Framework的关键知识点。 1. **快速开发**: Play Framework以其快速开发能力而...
在Play Framework2中,你将学习到以下关键知识点: 1. **MVC架构**:Play遵循模型-视图-控制器(MVC)设计模式,这是一种用于构建可维护和可扩展的Web应用的经典方法。模型代表业务数据,视图负责渲染这些数据,而...
然后,《playframework_api.rar》则是Play Framework的最新API文档。API文档是开发者日常工作中不可或缺的参考资料,它详尽地列出了框架的所有类、接口、方法,方便开发者查找和使用。 最后,是《play——demo.rar...
通过本书的学习,读者不仅可以掌握 Play Framework 的核心功能,还能了解到许多高级技巧和实战案例。无论是对于初学者还是有经验的开发人员来说,《Play Framework Cookbook》都是一份宝贵的资源,能够帮助他们在...
而"playframework-2.7.9"可能是一个解压后的目录,其中包含了框架的全部源代码、库文件、示例项目、构建脚本等。 Play Framework的核心特性包括: 1. **异步编程模型**:Play Framework利用Akka Actor系统实现非...
在标题"playFramework1.2.3"中,我们关注的是Play Framework的1.2.3版本。这个版本是在其早期发展的一个稳定版本,提供了许多开发者友好的功能。 Play Framework的核心优势在于它采用了模型-视图-控制器(MVC)架构...
《Play Framework 2.0 - 创建你的第一个应用程序》 Play Framework 2.0 是一个开源的Web应用框架,它基于Scala和Java语言,遵循“模式-动作”(Action)架构,提供了一种轻量级、敏捷开发的方式。本篇文章将引导你...
- **官方文档**:[Play Framework官方文档](***是了解和学习Play框架的最佳资源。 - **书籍**:《Play Framework Essentials》是一本关于Play框架的入门书籍,涵盖了使用Play框架构建可伸缩Web应用程序的基础知识。 ...
在这个"play framework测试项目"中,我们可以深入学习Play Framework的基本结构和工作原理。 首先,Play Framework的核心特性之一是它的MVC(模型-视图-控制器)架构模式。在MVC模式下,应用被划分为三个主要部分:...
《Play Framework 框架手册》是一份深入介绍Play框架的文档,主要涵盖了从基础概念到高级特性的全面内容,适合初学者和经验丰富的开发者参考。以下是对手册中部分核心知识点的详细阐述: 1. **MVC应用程序模型**:...
通过分析`todolist`目录下的源代码,我们可以学习到如何在Play Framework 2.0中创建一个简单应用,包括如何处理HTTP请求,如何定义模型和视图,以及如何使用数据库。这个教程为初学者提供了一个很好的起点,让他们...
### Play Framework Cookbook 知识点概览 #### 一、编写自定义渲染方法 - **知识点概述**:Play ...通过以上知识点的学习和实践,开发者可以充分利用Play Framework 的强大功能,开发出高性能、易维护的Java Web应用。
Play Framework 是一个基于Java和Scala的开源Web应用框架,它遵循模型-视图-控制器(MVC)架构模式。在本教程中,我们将探讨如何利用Play Framework与MySQL数据库交互,实现基本的CRUD(创建、读取、更新、删除)...
Play Framework 是一个基于Java和Scala的开源Web应用框架,它以简洁、快速和类型安全而闻名。在"学生信息管理系统"这个...通过学习和实践这个项目,开发者能够深入理解如何使用Play Framework进行企业级应用的开发。