日期:2014-05-20  浏览次数:21102 次

play framework & 安装 & 创建新项目 & play常用命令
Play framework使用Apache V2协议是一个Java & Scala的程序框架和执行容器,使得更加容易地创建Web应用程序。。
Play基于一个轻量级、无状态、界面对用户友好的架构,并为高稳定性的Web程序提供特征预测、最小资源消耗(CPU,内存,线程)

安装:java6,下载2进制文件,play.bat加入到PATH,CMD中执行play help,显示Welcome to Play的信息。
安装目录下有:documentation帮组文档(注意不同版本的文档不同,比如IDE部分 play1.2推荐安装Eclipse插件 play2.0不安装插件,直接看安装包下帮组文档最精确!),framework(包含play源代码和sbt),repository仓库文件,samples例子(到相关例子的目录下运行play run直接启动sample项目),play.bat启动文件!

创建新项目:play new,不指定目录参数的话,会把创建的新Web程序直接放置在play容器的安装目录。
play new E:\play\todolist
1,在E:\play目录下创建一个play的web项目,项目名todolist,项目类型:简单的Java应用程序
2,todolist项目下默认生成的文件、文件夹
        a.app:包含应用程序核心代码(java代码和html代码),下面由models,controllers和views组成。
        b.conf:包含所有应用程序的配置文件,特别地:application.conf主配置文件,routes路由配置文件,messages国际化资源文件
        c.project:包含默认生成的编译脚本,整个编译系统基于sbt。
        d.public:包含所有公开的资源文件,由javascripts,stylesheets,images3个文件夹构成。
        e.test:包含所有引用程序的测试文件,这里可以编写JUnit测试代码。
        f.注意:Play框架使用 UTF-8作为唯一支持的编码,所以项目中的所有文件都要使用UTF-8编码。
3,到todolist 目录下,执行play命令,会启动play控制台
4,在play控制台中执行run命令启动todolist项目,默认使用9000端口(application.conf中配置)来启动应用程序
5,使用http://localhost:9000/来访问web引用程序,可以看到默认生成的Web界面。

如果javac没有加入到PATH中,访问http://localhost:9000/时会报下述错误。
Unexpected exception
IOException: Cannot run program "javac": CreateProcess error=2, The system cannot find the file specified 

整个程序的入口是在文件conf/routes中定义的。这个文件定义了所有引用程序可以访问的URL

启动既存项目:在一个既存目录下通过命令play来启动时,确保项目目录下有project文件夹,里面包含一些编译信息。(可以通过play new来创建一个新项目,然后把下面的project目录复制到既存项目),因为执行play的第一步就是:Loading project definition from E:\play\todolist\project

play控制台:是基于sbt的开发控制台,用来管理play应用程序的整个生命周期。它是一个通常的sbt控制台,因此sbt的常用命令~ compile,~ run,~ test都能直接在里面使用。在play应用程序目录下下使用play命令来启动该控制台。Debug模式(JPDA模式):在play应用程序目录下下使用play debug启动debug模式。默认端口9999(play.bat文件中定义),可以在play.bat文件里通过set JPDA_PORT=1234修改环境变量的方式来修改默认端口。

在play控制台下执行help play,可以看到可使用命令的基本帮组。
启动服务器:run命令,以开发模式启动当前应用程序。这个模式下,服务器的auto-reload特性会启动,也就是说,对于每个请求,Play容器会检查整个工程并且重新编译所有的文件,如果需要的话,引用程序会自动重新启动。
停止服务器:Ctrl + D, 会停止应用程序并返回play控制台
编译应用程序而不运行:compile
启动Scala交互式控制台:console,可以直接在控制台执行scala代码
不启动play控制台,直接启动服务器:play run
强制清理所有执行时生成的文件:play clean-all。如果出现问题,并且感觉是sbt缓存导致的话,使用该命令来清理所有生成的文件夹。
play start & play stop, 会在项目文件夹下面生成保存进程号的文件:RUNNING_PID