PLAY框架知识简介

合集下载

轻量级的高性能Web框架:Play

轻量级的高性能Web框架:Play

Play是一款开源、轻量、无状态、Web友好的架构,使用Java语言编写并遵循MVC模式,集成了当今Web开发所需的组件和API。

此外Play可以给应用程序提供可预测的和最小的资源消耗(CPU,内存,线程),可构建高扩展的应用程序。

目前Play的最新版本是2.1,在该版本中需关注的几点是:移植到Scala 2.1上、Migration to scala.concurrent.Future库,可在Scala中管理异步代码、改进Iteratee API、在项目中可构建更多的模块化代码、为Java API提供更好的线程模型、新增Scala JSON API、Filter API和CSRF保护机制等。

除了上述所描述的这些特征外,最受开发者喜爱的又有哪些呢?不妨来看下:•快速迭代:修改代码、刷新页面立即就能看到•Java和Scala:JVM性能、类型安全、库、IDE/工具支持、活跃的社区•反应:非阻塞I0机制使数据/基于网络的实时数据获取更容易•灵活:支持可插、自定义配置和可定制。

既然Play拥有这么多功能,下面就提供一些示例给大家。

1.创建按照安装说明,创建一个叫play-tutorial的App,使用play new命令:2.运行Appcd到play-tutorial的根目录下,使用play run命令启动服务器,然后在浏览器中输入:http://localhost:9000这时,你可以在IDE里加载和查看play-tutorial源码。

Java培训:3.Hello WroldPlay遵循MVC模式,所以先在app/controllers下创建一个控制器:HelloWorld下面要做的是在浏览器上显示这个controller/action,你可以把这个添加到conf下的routes 文件下。

在浏览器中输入:http://localhost:9000/hello。

java培训-Play Framework介绍

java培训-Play Framework介绍

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

本文翻译自Play官方文档。

原文见:/documentation/1.1.1/mainPlay Framework是一个Rails风格的Full-stack Java Web框架。

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)的结果。

play框架plugin简单说明及例子

play框架plugin简单说明及例子

play1.2.4版本:继承类play.PlayPlugin,我们可以实现插件的功能。

play框架本身基于此类提供了一些已经实现的plugin,比如:ConfigurablePluginDisablingPlugin, CorePlugin, DBPlugin, Evolutions, JobsPlugin, JPAPlugin, MessagesPlugin, TempFilePlugin, ValidationPlugin, WS这其中有我们非常熟悉的JobsPlugin,实现一些定时JOB,onApplicationStart() 和onApplicationStop() 在服务启动停止时实现一些我们自己的业务。

onApplicationStart() 和onApplicationStop() 都是PlayPlugin类的方法,当然还有很多其它方法,你只需要继承类并重写这些方法就可以实现自己需要的插件。

打开play-1.2.4.jar包,在根目录下,我们可以看到文件play.plugins,这里面列出了所有play 已经实现的插件,该文件中列出的插件类在play启动时加载。

打开看看内容:0:play.CorePlugin100:play.data.parsing.TempFilePlugin200:play.data.validation.ValidationPlugin300:play.db.DBPlugin400:play.db.jpa.JPAPlugin450:play.db.Evolutions500:play.i18n.MessagesPlugin600:play.libs.WS700:play.jobs.JobsPlugin100000:play.plugins.ConfigurablePluginDisablingPlugin每个插件类一行,第一列的数字为编号。

所以,我们要实现自己的插件并应用,必须也新加一个play.plugins文件(名称必须为play.plugins,在play jar中写死了,否则无法加载),存放在app目录下。

play框架手册-01.Play框架最主要的概念

play框架手册-01.Play框架最主要的概念

01.Play框架最主要的概念MVC应用程序模型Play框架完全遵循MVC模式,MVC模式把应用程序分成几个独立的层:presentation表现层和model模型层,表现层进一步分成view呈现层和controller控制层。

∙Model层是应用程序操作的特定领域展现的信息。

领域逻辑把“领域的意思”添加到原始数据里。

许多应用程序使用持久存储机制,比如数据库来存储数据。

MVC不特别指明数据访问层,因为mvc模型能够理解底层操作,或数据访问层已经被模型进行了封装。

∙View层把model层渲染到一个适当的交互窗体,如典型的用户接口。

一个model可以有多个views,以实现不同的作用。

在一个web应用程序里,view通用渲染成web格式的内容,比如HTML, XML或JSON。

然而,在某些情况下,view也可表示成二进制窗体,比如一个动态渲染的图表。

∙Controller负责响应事件 (通常是用户actions),并对这些事件进行处理,也可能是调用model的修改方法。

在一个Web应用程序里,事件特指http请求:一个专门用于监听http请求的控制器,它从’事件’里提取相关数据,比如查询字符串参数,请求headers… 并把修改结果更新到底层model对象。

在Play应用程序里,这三个层被分别定义到app目录下的三个java包里。

app/controllers控制器就是一个java类,其中的每个public/static方法都是一个Action。

一个action就是一个java入口点,当接收到一个http请求时,这个action就会被调用。

控制器类里的java代码并不真正的面向对象的。

Action方法从http 请求中提取相关的数据,读取或更新model对象,并向http请求者返回一个封装好的response结果。

app/models领域模型对象层(以下简称model)是一系列完全使用java面向对象语言特征的java类,它包含了数据结构和数据操作。

【翻译】Play框架入门教程一:建立项目

【翻译】Play框架入门教程一:建立项目

【翻译】Play框架入门教程一:建立项目简介在这个教程中你会学到用Play框架从头到尾的开发一个真切的Web程序。

在这个程序中,我们将用法在一个真切项目中需要的全部技术,来介绍Play框架开发Web程序的实战技巧。

这个教程分为几个自立的部分。

每个部分将介绍更多复杂的特性,并且提供真切项目的需求,包括数据验证、错误处理、权限框架、自动测试框架、Web界面接口、国际化等内容。

项目我们打算创建一个blog项目。

这不是一个有想象力的打算,但是这个项目能让我们学习到目前Web程序大多数的功能性需求。

为了更好玩点,我们要处理不同角色的用户(itor,admin)。

这个项目的名字称为yabe。

这个教程的源代码在Play安装名目下的samples-and-tests/yabe/名目。

先决条件首先,确保计算机安装了Java,Play框架需要Java 5或以上版本。

还有我们要用法行,最好用法类Unix操作系统。

固然假如你用法Windows操作系统,Play框架也会工作得很好。

要有Java和Web开发技术(比如:HTML, CSS and JavaScript)的学问,然而不必深化了解JEE的学问。

Play框架是一个全栈式 Java框架,提供和封装了你所需要的全部Java API,你不必知道怎样配置JPA实体或者部署JEE组件。

固然还需要文本编辑器。

假如你习惯用诸如Eclipse和NetBeans等Java IDE开发Play框架的Web程序是十分好的。

然而用法一些诸如Ttmate、Emacs或VI简便的文本编辑器来开发Play框架的Web程序也是十分开心的。

安装Play 框架安装十分容易,下载最近的版本然后到任何路径。

假如用法Windows,应避开在安装路径中有空格。

比如c:\play ,而不能是c:\Documents And Settings\user\play。

最好是把Play主名目加入到工作路径path,这样只需要在指令行输入play就可以用法Play框架的功能了。

play框架手册-03.控制器

play框架手册-03.控制器

03.控制器在Play框架中,商业逻辑在domain model层里进行管理,Web客户端不能直接调用这些代码,domain对象的功能作为URI资源暴露出来。

客户端使用HTTP协议提供的统一API来暗中操作这些底层的商业逻辑实现资源的维护。

然而,这些domain对象到资源的映射并不是双向注入的:它可以表示成不同级别的粒度,一些资源可能是虚拟的,某些资源的别名或许已经定义了…这正是控制器层发挥的作用:它在模型对象和传输层事件之间提供了粘合代码。

和模型层一样,控制器也是纯java书写的代码,这样控制器层就很容易访问和修改model对象。

和http接口类似,控制器是一个面向Request/Response的程序。

控制器层减少了http和模型层之间的阻抗。

注意!不同的策略具有不同的架构模型。

一些协议可以让你直接访问模型对象。

典型代表就是EJB和Corba协议,这种架构风格使用的是RPC(远程过程调用),这样的通信风格和web架构很难兼容。

SOAP协议则试着通过web访问model对象。

这是另外一个rpc类型的协议,这种情况,soap使用http作为传输协议,这不是一种应用程序协议。

由于web规则并不是完全面向对象的,所以在这些协议下,针对不同的语言,需要不同的http适配器。

控制器概览一个controller就是一个java类,位于controller包下,是play.mvc.Controller的一个子类。

示例:package controllers;import models.Client;import 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();}}控制器中的每个public、static方法叫做Action(动作)。

Play框架文档

优势:1.动态编译。

无论你修改Entity,Controller或者view,都无需重启服务器.2.视图采用了Groovy作为模板引擎,让表示层真正做到了开发高效简洁Play的页面模版有一套非常简单易用的tag机制,复用view非常的方便.3.测试Play可以方便的组织测试数据,而这些数据是一个文本结构,不依赖于特定数据库.也就是说即使你用的是一个内存数据库,你也可以很方便的组织测试数据.4.Play的"缺陷和问题":Play有很多的静态方法,在Controller和Model中都有,静态方法带来的最大麻烦就是难以继承,这是很恶心的一件事情,这一点可能是Play框架的一个硬伤,不知道以后会不会有更正.5.拥有精确的错误定位机制,当错误发生的时候,可以精确的定位到错误代码的位置。

6.速度很快,启动快,运行的速度也十分快部署1.首先下载Play2.解压到D盘3.配置环境变量PATH。

D:\play;4.打开CMD 运行play表示成功.测试1.创建一个工程打开DOS。

输入play new webplay意思是创建一个名字叫webplay 的工程。

但是该工程暂时无法导入ECLIPSE 2. 测试过工程是否成功打开DOS 输入play run webplay意思是测试工程是否运行成功。

下面会提示测试路径。

表示启动成功.3.创建Eclipse 部署文件运行play eclipsify webplay意思是创建eclipse 部署文件4.工程导入到Eclipse跟普通项目导入一样模板1.创建模板2.引用模板应用1.初始化执行方法:初始化执行方法为:具体类执行完index() 方法后,会去找顺序为:views-→action名字-→方法名字.html2.页面调用ACTION 的方法根据上面的提示。

在中找到方法.3.附带参数返回页面配置数据库1.配置数据库连接打开。

找到操作数据库每一个实体类都继承了 Model 类。

Play Framework2


创建和发布 Play 应用
app |- controllers |- models |- views conf |- application.conf |- routes public |- stylesheets |- javascripts |- images project |- build.properties |- plugins.sbt |- Build.scala lib logs |-application.log target test
public static Result index() { return ok("Got request " + request() + "!"); }
开发Java应用
Controllers 控制类
继承 play.mvc.Controller 的类,都是控制类。 它是 Action 的集合。
package controllers; import play.*; import play.mvc.*; public class Application extends Controller { public static Result index() { return ok("It works!"); } }
fork-join-executor { parallelism-min = 8 parallelism-max = 64 }}}}} //最小值 //最大值 parallelism-factor = 3.0 //每次增加(processors * factor)
Play 框架的配置文件
配置日志:
Play Framework
RESTful的全栈式Web开发框架

java培训-Play框架指南

Play框架指南:配置你喜欢的IDE使用 Play 进行工作是很容易的。

你甚至不需要一个复杂的 IDE,因为 Play 会自动地编译和刷新你修改的源文件,所以,你可以使用简单的文本编辑器轻松地进行工作。

使用 Play 进行工作是很容易的。

你甚至不需要一个复杂的 IDE,因为 Play 会自动地编译和刷新你修改的源文件,所以,你可以使用简单的文本编辑器轻松地进行工作。

但是,时髦的 Java IDE 提供了一些很酷且高效的特性,例如自动完成,即时编译,重构辅助和调试。

Play 支持NetBeans, IntelliJ IDEA和Eclipse platforms 平台。

生成 Eclipse 配置文件Play 提供一个生成 Eclipse 配置的命令。

要将 Play 应用转化为 Ecipse 工程,可以使用 eclipsify 命令:1.# play eclipsify myApp然后,你需要使用 File/Import/General/Existing project… 菜单将应用导入到你的工作区中。

eclipsify 命令生成若干个应用程序的启动器(launcher),主启动器(main launcher)只能通过 Eclipse 的 Run As 命令使用。

可以随时通过 Debug As 启动一个调试会话,然后使用 Connect JPDA launcher ,停止调试会话并不会导致服务器终止。

如果你对应用程序做了任何重要的修改,如改变 classpath,则需要使用 eclipsify 重新生成 Eclipse 配置文件。

此外,Play 目录下带有一个 Eclipse 插件,在 support/eclipse/ 目录下,要安装它,只需将你在该目录下找到的JAR 文件,简单地复制到 Eclipse 安装目录的 dropins 文件夹下生成的 Eclipse 配置文件包含了 Play 框架安装目录的绝对路径。

PLAY初学者入门 01.PLAY框架介绍

01.Play框架介绍Play框架是臃肿的企业级Java之外的另一个选择,它关注的是开发的效率和提供REST式的架构风格,Play是“敏捷软件开发”的绝佳伴侣。

没有痛苦的java框架Play是一个使用纯Java开发的框架,它可以让你继续使用你喜欢的开发环境或类库。

如果你已经是一个Java开发者,那么你不需要切换到另一种语言,其他IDE或者其他类库,只是切换到了另一个更有效率的java环境!修改bug和自动加载Java EE一是个声名狼藉的开发平台,其web应用程序开发效率低下,主要的原因就是不断重复单调乏味的“编译-打包-部署”循环。

这就是为什么我们重新考虑开发周期,让使用Play开发变得更有效率。

框架自动编译Java源代码,然后直接热加载到JVM中而不需要重启服务器,你可以编辑、重新加载、然后直接看到修改后的结果,就像在LAMP或者Rails环境中一样。

而且更有趣的是你按自己的爱好,仅仅使用一个简单的文本编辑器而不需要使用全功能的java IDE。

当有错误发生时,框架努力辨别,然后直接显示出你的错误。

甚至对堆栈跟踪进行分析优化,使错误更容易的被解决,让我们看一下模板执行是如何完美地集成到java堆栈跟踪的。

简单的无状态的MVC架构你一边有一个数据库另一边有一个浏览器,为什么你要在此之间需要一个状态呢?基于Java web框架的Stateful和组件能够很容易的自动保存页面状态,但是这带来了很多其他问题,如果用户打开了第二个窗口时会发生什么,如果用户单击了浏览器的后退按钮呢?PHP,Ruby on Rails和Django等许多web应用框架促进了“无共享”架构的推广。

随着浏览器越来越强大,现在已经很容易使用Ajax,或者离线存储去解决客户端的状态问题。

其实我们并不需要入侵HTTP模型,在web上重建一个虚假的状态。

“无共享”的另一方面就是这种模式很容易用于并行渲染页面的某个部分,更新部分页面(或更先进的增强效果)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(V)。
M:指业务模型 V:用户界面 C:控制器
PLAY的下载使用 下载play1.2.5包
从官网上下载play1.2.5版本,解压后将文件放在任意存储盘下,文件夹 中含有play的主包和play提供第三方的jar包,新建play项目时需要引入 jar包
4

安装与配置
Play无需安装,需要在环境变量path中配置,将play的存放路径复制到y框架的增删改查用法
1、新增 Luser user = new Luser(); = params. get(“name"); user.save(); 2、修改 Luser user = Luser.findById(userid); If(user!=null){ = params. get(“name"); user.save(); } 3、删除 Luser lu = Luser.find("id = ? ", userid).first(); lu.delete(); 4、查询 List<Luser> userlist = Luser.findAll();--查询全部
Play框架的增删改查用法
5、查询单个对象 Luser user = Luser.findByld(userid); 或
Luser user = Luser.find (“userid=?”,userid).first();
6、条件查询 List<Luser> userlist = Luser.find(“unid= ?”,unid).fetch(); List<Luser> userlist = Luser.find(“unid= ?”,unid).fetch(10); List<Luser> userlist = Luser.find(“unid= ?”,unid).fetch(page,length); Page表示当前页数,从1开始;length表示每页的记录数
新建play项目
在命令窗口中,输入play new 项目名称 单击回车键,确定项目名称在 单击回车键,项目成功建立。在项目的父目录下运行play eclipsify +项 目名称命令后,可以将新建的项目导入到myeclipse中 App,config,public,lib,test
Play项目包含的文件内容
Play框架使用总结
编译及运行
框架自动编译和重新 装载源文件的任何改 变 注意:新建的类或 model表需要重新运 行项目
报错
发生异常,此框架会 直接显示错误代码, 甚至是模板代码
项目打包部署
app,config,public, lib,需要删除.svn文件 夹
PLAY框架知识简介
2016-12-15
目录页
CONTENTS
目录
1
2 3
主要概念 标准目录结构 Play的下载使用
4 5 6
代码书写规范 项目的运行 项目的总结
Play框架主要概念
MVC设计模式
Play框架采用了良好的MVC设计模式,这个模式把应用层分为三层:模型层(M),控制层(C)和表示层
Play构建web应用的配置
在application.conf 文件中设置项目名称、访问的端口号、连接的数据库信息等
Play构建web应用的配置
在application.conf 文件中设置项目名称、访问的端口号、连接的数据库信息等
Web应用的路径配置
在routes 文件中设置项目访问首页
访问localhost:9004的时候就会指向application类中的index方法
App:放置了java文件controller,models,views 分别存放mvc模式的三层代码。 Conf:配置文件,设置连接数据库信息、访问端口号以及系统访问首页 Public:存放css样式、js文件以及图片信息 Lib: jar包 Eclipse:选中项目名称.launch右键选择run as 后单击项目名称运行项目
Model表的创建
Name=“luser”,schema=“ygjk” luser是数据库中的表名,ygjk是数据库名,使用@Table用来设定数据库表名@Column用来设置字 段名及长度@transient表示该字段是临时字段,不会显示在表中
创建java方法
render("Application/login.html", page, page1);
相关文档
最新文档