`
sun4love
  • 浏览: 233455 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

【play学习】Playframework是什么

阅读更多

本文由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)。所有请求遵循相同路径:

  1. 框架收到一个HTTP请求
  2. Router匹配请求和Controller、Action,执行动作方法。
  3. 应用代码执行
  4. 绘制模型,呈现视图
  5. 动作方法的结构作为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 api,play! framework api,play api

    Play Framework 是一个开源的Web应用框架,用于构建现代、高性能的Java和Scala应用程序。它采用模型-视图-控制器(MVC)架构模式,并且强调简洁的代码和开发的即时反馈。Play Framework API 是开发者使用该框架进行...

    playframework学习资料

    在学习Play Framework时,建议从官方文档开始,了解基本概念和配置。然后,通过创建一个简单的示例项目来实践,逐步掌握路由、控制器、模型、视图和模板的使用。同时,深入学习Akka和异步编程对于充分利用Play的优势...

    playframework中文教程.zip

    这个“playframework中文教程.zip”压缩包很可能是为了帮助中文用户更好地理解和学习Play Framework而准备的资源。 Play Framework 的主要特点包括: 1. **轻量级**:与传统的Java EE规范相比,Play Framework ...

    Play Framework Cookbook.pdf

    无论是初学者还是有经验的开发人员,都可以从中学习到如何有效地使用 Play Framework 来构建高效稳定的 Web 应用。 - **核心章节内容**: - **基础设置与配置**:包括环境搭建、项目初始化、配置文件解读等基础...

    playframework 框架学习之路 1

    在“Playframework框架学习之路 1”中,我们可能要探讨这个框架的基础概念、安装过程以及如何创建一个简单的应用。下面将详细介绍Play Framework的关键知识点。 1. **快速开发**: Play Framework以其快速开发能力而...

    Play Framework2本教程

    在Play Framework2中,你将学习到以下关键知识点: 1. **MVC架构**:Play遵循模型-视图-控制器(MVC)设计模式,这是一种用于构建可维护和可扩展的Web应用的经典方法。模型代表业务数据,视图负责渲染这些数据,而...

    play,play framework资料大全

    然后,《playframework_api.rar》则是Play Framework的最新API文档。API文档是开发者日常工作中不可或缺的参考资料,它详尽地列出了框架的所有类、接口、方法,方便开发者查找和使用。 最后,是《play——demo.rar...

    Play Framework Cookbook

    通过本书的学习,读者不仅可以掌握 Play Framework 的核心功能,还能了解到许多高级技巧和实战案例。无论是对于初学者还是有经验的开发人员来说,《Play Framework Cookbook》都是一份宝贵的资源,能够帮助他们在...

    Play Framework应用程序框架 v2.7.9.zip

    而"playframework-2.7.9"可能是一个解压后的目录,其中包含了框架的全部源代码、库文件、示例项目、构建脚本等。 Play Framework的核心特性包括: 1. **异步编程模型**:Play Framework利用Akka Actor系统实现非...

    playFramework1.2.3

    在标题"playFramework1.2.3"中,我们关注的是Play Framework的1.2.3版本。这个版本是在其早期发展的一个稳定版本,提供了许多开发者友好的功能。 Play Framework的核心优势在于它采用了模型-视图-控制器(MVC)架构...

    Play framework 2.0 -第一个应用程序

    《Play Framework 2.0 - 创建你的第一个应用程序》 Play Framework 2.0 是一个开源的Web应用框架,它基于Scala和Java语言,遵循“模式-动作”(Action)架构,提供了一种轻量级、敏捷开发的方式。本篇文章将引导你...

    Play Framework Essentials

    - **官方文档**:[Play Framework官方文档](***是了解和学习Play框架的最佳资源。 - **书籍**:《Play Framework Essentials》是一本关于Play框架的入门书籍,涵盖了使用Play框架构建可伸缩Web应用程序的基础知识。 ...

    play framework测试项目

    在这个"play framework测试项目"中,我们可以深入学习Play Framework的基本结构和工作原理。 首先,Play Framework的核心特性之一是它的MVC(模型-视图-控制器)架构模式。在MVC模式下,应用被划分为三个主要部分:...

    play framework 框架手册 word 版

    《Play Framework 框架手册》是一份深入介绍Play框架的文档,主要涵盖了从基础概念到高级特性的全面内容,适合初学者和经验丰富的开发者参考。以下是对手册中部分核心知识点的详细阐述: 1. **MVC应用程序模型**:...

    Play framework 2.0入门教程(三)的源代码,Play留言板

    通过分析`todolist`目录下的源代码,我们可以学习到如何在Play Framework 2.0中创建一个简单应用,包括如何处理HTTP请求,如何定义模型和视图,以及如何使用数据库。这个教程为初学者提供了一个很好的起点,让他们...

    Play Framework Cookbook(PlayFramework )(September 4, 2011)

    ### Play Framework Cookbook 知识点概览 #### 一、编写自定义渲染方法 - **知识点概述**:Play ...通过以上知识点的学习和实践,开发者可以充分利用Play Framework 的强大功能,开发出高性能、易维护的Java Web应用。

    playframework增删改查

    Play Framework 是一个基于Java和Scala的开源Web应用框架,它遵循模型-视图-控制器(MVC)架构模式。在本教程中,我们将探讨如何利用Play Framework与MySQL数据库交互,实现基本的CRUD(创建、读取、更新、删除)...

    play framework 学生信息管理系统

    Play Framework 是一个基于Java和Scala的开源Web应用框架,它以简洁、快速和类型安全而闻名。在"学生信息管理系统"这个...通过学习和实践这个项目,开发者能够深入理解如何使用Play Framework进行企业级应用的开发。

Global site tag (gtag.js) - Google Analytics