您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > Play!-Framework-2-Web开发教程
PlayFrameworkWeb开发教程(1):概述及环境安装PlayFramework基于Akka(并行应用开发包,这个开发包的一个显著特定是基于Actor模型,并行运算是这个某些的基本特点,可以避免由于一般多线程开发不正确使用同步或互锁造成的程序死锁等问题)。采用MVC模型(非常类似于ASP.NETMVC4),缺省支持REST和JSON,支持编译CoffeeScript和LESS代码。支持数据库编程,并且可以和Slick(类似于LINQ的数据库接口)。开发可以使用Eclipse,IntellijIDEA或是Sbt(Typesafe自带的编译工具)。本教程采用Eclipse开发环境配合sbt工具开发。下面简单介绍一下PlayFramework开发环境的搭建,(Windows开发环境)。首先需要安装JavaSDK,建议安装最新版JavaSDK,64位系统安装64位JavaSDK。安装Scala编译工具sbt.安装Scala开发环境安装ScalaIDEforEclipse下载解压PlayFramework,目前版本为2.1.3安装好之后,注意把这些命令行所在的目录添加的系统环境变量PATH中,然后到到命令行中执行playnewmyFirstPlayApp在提示选择语言(Java或Scala)选择Scala然后进入新创建myFirstPlayApp,运行playrun,如果编译成功,将显示下面类似的消息,表示新创建的Web应用运行在端口9000打开浏览器输入地址如果显示如下页面,将表示开发环境已经就绪,后面文章将介绍这个例子。相信Scala语言会逐渐普及开来,PlayFramework也会得到广泛的应用,目前使用PlayFramework的一些著名网站有LinkedIn等PlayFrameworkWeb开发教程(2):Play应用目录解析PlayFrameworkWeb开发教程(1):概述及环境安装创建了一个新的应用,它的目录结构如下:Play应用标准的目录结构app→应用的源码└assets→可以编译的Asset源码└stylesheets→通常为Less代码└javascripts→通常为CoffeeScipts代码└controllers→应用的controllers类定义└models→应用的Model类定义└views→UI模板conf→配置文件└application.conf→主应用配置文件└routes→路由定义public→公开的Asset定义└stylesheets→CSS文件└javascripts→Javascript文件└images→Image文件project→sbt配置文件(用来编译项目)└build.properties→sbt项目属性定义└Build.scala→应用编译脚本定义└plugins.sbt→sbt插件定义lib→应用使用的库文件(不由sbt管理的其它库)logs→日志目录└application.log→缺省的应用日志文件target→编译生成的文件目录└scala-2.10.0└cache└classes→编译过的class文件└classes_managed→Managedclass文件(模板等,...)└resource_managed→Managed资源(less,...)└src_managed→生成的源码(模板,...)test→单元测试或功能测试代码目录app目录app目录包含了所有可运行代码或资源:Scala代码,UI模板和Less代码,CoffeeScript代码,app通常包含下面三个子目录:对于与MVC的三个部分:app/controllersapp/modelsapp/views当然你可以添加你自己的目录,比如app/utils。此外还有一个可选的标准目录名assetsapp/assets,用来存放可供编译的LESS或CoffeeScript代码public目录public目录存放了可以供网页直接访问的资源,比如CSS,图像,JavaScript文件。conf目录该目录存放应用的配置文件,主要有下面两种配置:application.conf应用主配置文件,定义了应用的一些配置参数routes,路由配置文件lib目录主要用来添加一些第三方库文件,这些库主要指一些没有通过sbt或编译脚本定义的库文件。直接把jar文件添加到这个目录下,编译时会直接添加到应用的classpath.project目录定义sbt编译项目的定义,包含下面三个文件:plugins.sbt定义项目使用的插件定义Build.scala定义项目编译脚本.build.properties指定编译sbt的版本等.target目录包含了编译后生成的一下文件。如果你使用GIT做为版本管理工具,下面为典型的.gitingore文件:logsproject/projectproject/targettargettmpdist.cachePlayFrameworkWeb开发教程(3):使用PlayConsole即使你使用IntelliJIDEA或是EclipseIDE来开发Play应用,了解PlayConsole的使用还是非常有用的,PlayConsole为一基于sbt的命令行工具,可以用来管理Play应用的开发生命周期。启动PlayConsole使用PlayConsole前,注意把Play所在目录添加到系统目录中,这样,启动PlayConsole非常简单,只需在Play应用所在目录在命令行输入“play”play获得Play命令帮助你可以输入helpplay获得关于Play命令使用的基本方法和命令:常见的命令如下:playEntertheplayconsolehelpDisplaysthishelpmessageorprintsdetailedhelponrequestedcommands(run'helpcommand').aboutDisplaysbasicinformationaboutsbtandthebuild.tasksListsthetasksdefinedforthecurrentproject.settingsListsthesettingsdefinedforthecurrentproject.reload(Re)loadstheprojectinthecurrentdirectoryprojectsListsthenamesofavailableprojectsortemporarilyadds/removesextrabuildstothesessio.projectDisplaysthecurrentprojectorchangestotheprovided`project`.setEvaluatesaSettingandappliesittothecurrentproject.sessionManipulatessessionsettings.Fordetails,run'helpsession'.inspectPrintsthevaluefor'key',thedefiningscope,delegates,relateddefinitions,anddependenies.;command(;command)*Runstheprovidedsemicolon-separatedcommands.~commandExecutesthespecifiedcommandwheneversourcefileschange.lastDisplaysoutputfromapreviouscommandortheoutputfromaspecifictask.last-grepShowslinesfromthelastoutputfor'key'thatmatch'pattern'.exitTerminatesthebuild.showkeyDisplaystheresultofevaluatingthesettingortaskassociatedwith'key'.在开发模式下启动Play应用使用run命令,可以开发模式下启动Play应用,此时一些调整信息可以在屏幕上显示出来,缺省情况下,PlayWeb应用使用端口9000,如果你修改代码,PlayConsole会检测到代码变化,在下个请求时会自动重新编译代码或资源,如要必要,还可以重新启动Play应用。如果出现编译错误,那么在浏览器中会显示错误信息:如果要停止Web服务,可以按Ctrl+D,此外还可以通过任务管理器,杀死对应的Java进程来停止Web服务。编译Compile命令可以编译Play源码或是资源(如CoffeeScript代码,LESS代码,Scala代码等),如果出现编译错误,屏幕上显示对应的错误提示:调试命令如果你使用EclipseIDE,你可以使用Eclipse来调试代码,此时需要使用playdebug启动一个JPDA调试端口,缺省调试端口为9999,此后可以通过配置Eclipse远程调试指向这个端口,就可以使用Eclipse和其它Java调试器来调试代码,如果使用IntelliJIDEAIDE可以自动完成这些配置。强制清理编译结果如果你觉得编译的结果出现意想不到的机会,那么你的sbt的缓存可能出现问题,此时可以通过clean-all命令强制清除之前的编译结果,然后使用compile重新编译生成新的编译内容。此外playConsole基于sbt工具,因此你也可以使用sbt的一些功能,比如~compile,~run,~test等PlayFrameworkWeb开发教程(4):选用你喜欢的开发IDE开发PlayWeb应用非常方便,你可以不使用任何IDE,这是因为Play可以自动编译更新修改过的源码。因此你可以使用简单的文本编辑器来来开发Play应用。然而使用Java或Scala集成开发环境(IDE)可以提供支持代码自动完成,及时编译,语法检查及调试等功能可以极大的提高开发效率,下面就介绍两种常见的Play开发IDE。一是免费的EclipseIDE,另外一个为IntelliJIDEA(个人版$199,倒也物有所值)Eclipse首先使用play生成Eclipse项目文件,这可以通过在Play项目目录下运行:playeclipse或eclipsewith-source=true(如果你需要库文件的源码,这个需要的时间可能长些)通常情况下使用eclipse就可以满足要求,如果你有兴趣查看部分库的代码实现,可以添加with-source=true选项。然后使用EclipseImport功能将该Play下面添加到Eclipse中。如果项目引入成功,你就可以使用Eclipse来编辑/开发PlayWeb应用使用Eclipse调试Play项目的方法如下:首先在命令行进入Play项目目录,执行playdebugrun然后使用Eclipse创建一个远程调试的配置,缺省的调试端口为9999然后就可以设置断点,和调试一般的Java应用没有什么不同:这里可以看出,使用Eclipse开发PlayWeb应用,通常还需要PlayConsole的配合,但Eclipse还是一个非常优秀的IDE,完全可以胜任Scala,PlayFramework应用的开发。如果你希望一个完全不需要使用PlayConsole的开发IDE,IntelliJIDEA是一个很好的选择。IDEA同样,在Play项目目录下使用idea或ideawith-sources=yes(如果你需要库文件的源码)这个命令创建idea项目文件,此后可以引入到IntelliJIDEA中,基本上就无需使用PlayConsole,IntelliJIDEA的scala,play插件可以帮你完成由PlayConsole完成的工作。实际开发中你可以根据个人喜好选择合适的IDE,甚至不使用任何IDE来开发Pla
本文标题:Play!-Framework-2-Web开发教程
链接地址:https://www.777doc.com/doc-5391482 .html