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介绍
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简单说明及例子
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框架最主要的概念
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框架从头到尾的开发一个真切的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.控制器
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上重建一个虚假的状态。
“无共享”的另一方面就是这种模式很容易用于并行渲染页面的某个部分,更新部分页面(或更先进的增强效果)。
play框架
PLAYPlay介绍:Play是一个full-stack(全栈的)Java Web应用框架,包括一个简单的无状态MVC模型,具有Hibernate的对象持续,一个基于Groovy的模板引擎,以及建立一个现代Web应用所需的所有东西。
Play一个Rails-like的Java框架,由于Java语言的局限性,实现一个Rails-like的Java 开发框架一直是一个难题。
在Java上想体验Rails-like的开发模式,只能选择Grails或者JRuby on Rails。
然而这两种框架都是动态语言实现的框架,只是基于JVM而不是基于Java语言本身。
动态语言确实有很多优点,但往往难以调试。
是否有一个Java语言实现的Rails-like 框架?答案是Play!Play特性:1.简单的开发周期。
该框架可自动编译和重新装载已改变的源文件,reload的速度很快。
2.用play new yourapp命令即可完成程序的80%。
3.高度纯洁的MVC,超好用的ORM。
4.用play eclipsify即可把项目变成标准的Eclipse项目(注:netbeans也行),让你享用IDE 的快捷。
5.智能绑定HTTP参数到Java方法参数。
6.基于Apache Mina的快速HTTP服务器(),每秒上千次的请求处理速度。
7.一个基于Groovy的强大的模板引擎,可实现多层继承,定制用户标签等功能。
8.优秀的错误报告功能:发生异常时,该框架会直接显示出错误的源代码,甚至是模板代码。
9.包含了很多开发Web应用需要的功能整合,如它包含支持Spring,Memcached、OpenID、插件系统等。
10.无状态的模型,无共享架构(Share-Nothing Architecture),为REST做好了准备(未来的目标是RESTful架构),具有很好的伸缩性。
11.数据模型方面使用JPA定义数据对象,直接从对象生成数据库。
play框架手册-04.模板引擎
04.模板引擎Play有一个高效的模板系统,它允许动态生成html、xml、json或其他文本格式的文档。
Play的模板引擎使用Groovy作为表达式语言。
它的标签系统允许你创建一些可以重复使用的功能。
模板默认存储在app/views目录下。
模板语法模板文件是一个文本文件,其中的一些占位符用于动态生成内容。
模板的动态元素是用groovy语言写的。
Groovy语法非常接近java的语法。
动态元素在模板执行期间被提取出来,最后以http response方式返回给客户端。
Expressions: ${…}要创建一个动态元素,最简单的方法就是声明一个表达式。
语法为${…},表达式的最终结果将被插入在表达式使用的地方。
如:<h1>Client ${}</h1>如果不确定client对象是否为null,则可以使用如下的groovy语法:<h1>Client ${client?.name}</h1>如果client不为null,则显示,否则不显示。
Template decorators : #{extends /} and #{doLayout /}Decorators(装饰?母版)提供了一个清晰的解决方案来在多个不同的模板间共享同一个页面布局(或设计)。
使用#{get}和#{set}标签来在模板和decorator(母版)之间共享变量。
在decorator(母版)里嵌入一个页面就是一行代码的事:#{extends 'simpledesign.html' /}#{set title:'A decorated page' /}This content will be decorated.decorator(母版)文件simpledesign.html的代码为:<html xmlns="/1999/xhtml" xml:lang="en" lang="en"><head><title>#{get 'title' /}</title><link rel="stylesheet" type="text/css"href="@{'/public/stylesheets/main.css'}" /></head><body><h1>#{get 'title' /}</h1>#{doLayout /}<div class="footer">Built with the play! framework</div></body></html>Tags: #{tagName /}一个tag就是一个可以带参数的模板碎片,如果只有一个参数,则默认的参数名称就是arg,而且arg可以省略。
play的用法总结顺口溜
play的用法总结顺口溜一、玩转play框架,畅享高效开发1. 入门指南:精通play,编写如神仙;2. 快速上手:开启play之旅,无惧代码纷争;3. 框架优势:高效、简单、可扩展,全能解决业务难题。
二、探索play的多种功能1. 轻松搭建:安装即用,配置更便捷;2. 路由定制:自由匹配路径,愉快规划流向;3. 数据持久化:数据库交互,增删改查轻松绝。
一、玩转play框架,畅享高效开发入门指南:精通play,编写如神仙Play框架是一个基于Java和Scala的轻量级Web框架,它提供了许多强大且高效的功能,使得开发者可以快速而轻松地构建出优秀的Web应用程序。
对于初学者来说,在深入了解Play框架之前,需要掌握一些基础知识。
首先是熟悉Java或Scala语言以及相关工具链的使用;其次是理解MVC(Model-View-Controller)设计模式和RESTful风格的Web服务架构。
掌握这些基础知识之后,你将能够迅速上手使用Play框架,并以如神仙般的编写能力在开发中游刃有余。
快速上手:开启play之旅,无惧代码纷争Play框架提供了许多易于使用且强大的功能模块,帮助开发者快速搭建Web 应用。
例如,它内置了一个简单而灵活的路由系统,可以轻松地处理URL路径和请求参数的映射;还有一个优雅而高效的模板引擎,可以方便地渲染动态内容。
另外,Play框架还支持实时编译和热重载功能,即时查看更改效果。
通过利用这些特性,开发者能够加快开发进程并降低维护成本。
框架优势:高效、简单、可扩展,全能解决业务难题与其他Web框架相比,Play具有许多出色的优势。
首先是其出色的性能和高并发处理能力,在面对频繁的请求时依然稳定可靠。
其次是简单易学的API设计和文档完备性,使得学习曲线降到了最低点。
此外,Play框架还具有良好的可扩展性,你可以根据自己的需求添加各种插件和模块。
无论是开发小型应用程序还是大型企业级项目,Play都能够全能解决各类业务难题。
PlayJavaSSM框架简介
PlayJavaSSM框架简介SSM框架 SSM是Spring + Spring MVC + MyBatis的缩写,是⼀个继SSH之后⽬前⽐较主流的JavaEE框架,适⽤于搭建各种企业级应⽤系统。
Spring Spring是⼀个开源的、于2003年兴起的、轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍⽣⽽来,是为了解决企业应⽤开发的复杂性⽽创建的。
Spring使⽤基本的JavaBean来完成各种事情,具有简单性、可测试性和松耦合等特点,其⽤途不仅限于服务器端的开发,任何Java应⽤都可以从Spring中受益。
简单来说,Spring是⼀个轻量级的控制反转(IoC)和⾯向切⾯(AOP)的容器框架。
IoC 控制反转,即Inversion of Control,利⽤⼯⼚模式将对象交给容器管理,只需在spring的配置⽂件中配置相应的bean,然后对其设置相应的属性,让spring容器来⽣成类的实例对象以及管理对象。
在spring容器启动的时候,spring会把配置⽂件中配置好的bean都进⾏初始化,然后在需要调⽤的时候把已经初始化好的这些bean分配给调⽤这些bean的类,因为调⽤了bean对象的setter⽅法来注⼊,所以就不需要再去使⽤new来实例这些bean了。
Spring最认同控制反转的依赖注⼊(DI)模式。
依赖注⼊,即Dependency Injection,是控制反转的⼀个具体的⽅式,当编写⼀个复杂的Java程序时,此程序的类应该尽可能的独⽴于其他的Java类来增加这些类可重⽤性;当进⾏单元测试时,可以使它们独⽴于其他类进⾏测试。
依赖注⼊有助于将这些类粘合在⼀起,并且在同⼀时间让它们保持独⽴。
依赖,即两个类之间的关联,类A依赖于类B;注⼊,即将类B通过IoC注⼊到类A中。
教学活动设计的PLAY模型
教学活动设计的PLAY模型
PLAY模型是一种适合初中学生的多元化教学活动设计模式,它指
导着教师如何制定有效的课堂活动。
PLAY是指Prepare、Linear Enter、Activity、Young Method 4 个环节。
1. 准备(Prepare):在准备阶段,教师需要确定课程的目的并确定学
习的基础,以支持定义的课程目标。
在此环节中,教师需要确定作业
要求、材料需求和评分标准。
2. 直接入场(Linear Enter):在直接入场阶段,教师需要引入关键概念,并让学生展示他们此前对主题的认知。
在这一阶段,教师能够定
义重点、设置活动的大框架,并建立良好的情景,以引导学生进行更
深入的学习。
3. 活动(Activity):在这一阶段,教师可以让学生根据每个人所掌握
的不同知识来完成各种任务。
协作活动中的学生有机会根据自己的角
色及组内贡献去完成不同较高层次的任务。
4. 青少年自行策略(Young Method):在这一阶段,教师可以将学生
分成小组,让他们采用自己的学习策略,让他们自行设计活动,培养
他们的创新思维,同时提高他们在学习中的动手能力。
play框架手册-09.异步任务
09。
异步Jobs因为play是一个web应用程序,因此许多应用程序逻辑都是由控制器返回给http请求的。
但有些时候,我们需要在http请求外执行一些应用逻辑。
比如非常有用的初始化任务,维护任务或运行不能被http请求池中断的长时运行的任务等等。
Jobs可以被框架全面进行管理。
意思是play负责管理所有的数据库连接原料stuff,JPA实体管理器负责管理数据同步和事务管理。
要想创建一个job,只需要继承play。
jobs.Job即可.package jobs;import play。
jobs。
*;public class MyJob extends Job {public void doJob() {//在这儿执行某些逻辑}}有些时候需要任务返回结果,这时就需要重载doJobWithResult()方法。
package jobs;import play.jobs。
*;public class MyJob extends Job〈String〉{public String doJobWithResult() {//在这儿执行某些逻辑return result;}}本示例仅使用了String作为返回类型,当然可以返回任何对象类型。
引导程序任务Bootstrap jobs引导程序任务会在play应用启动时执行。
要想实现该任务,只需要在你的任务上添加@OnApplicationStart注释:import play.jobs.*;@OnApplicationStartpublic class Bootstrap extends Job {public void doJob(){if(Page。
count() == 0){new Page("root”).save();("A root page has been created.”);}}}注意:在这里不需要返回结果,即使这样做了,结果也会丢失。
PLAY框架手册 17.PLAY模块和模块仓库
~ Cobertura
~ /modules/cobertura
~ Versions: 1.0
...
在本地使用 play install {module}-{version}命令可以在本地安装模块。在本 地安装模块后就可以模块用于不同的应用程序,而且不需要为每个应用程序复制 备份。这对于大型模块来讲非常有用,这与框架扩展非常相似。
模块 模板可以包含原始的 java 代码,前提是以 jar 文件形式打包到
module/lib 目录下 模块可以包含文档页面 每个模块都是可选的
使用 play new-module 命令可以创建自己的模块。
如何从一个应用程序里加载模块
位于应用程序/modules 目录下的模块是被自动加载,也可使用 dependency management system 来自动管理你的应用程序模块。
比如,在框架里安装 Scala 支持:
2
play install scala-head
我们约定 head 版பைடு நூலகம்就模块的不稳定版本。你也可通过省略版本信息安装默认的 模块版本,如:
play install scala
通过这种方式安装的模块将会直接下载模块到你的框架安装目录下的/modules 文件夹里。
2. 登录到你的 Google account 3. 在 Developer login 下创建一个完整的 Google OpenID URL,如:
https:///accounts/o8/id?id=BItOawk7q69CFhRarQIo
在 play-framework Google Group 页面里传送一个模块注册请求,比如:
为模块增加文档说明
1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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);