Scala在业界已日益成为主流的编程语言和开发工具,与Java一样在Web开发领域的发展尤其令开发者关注,因此本文选取Scala语言中当前两个主要Web框架(Play、Lift)中的一个较易上手的Play框架,结合作者的实践以简洁易懂快速上手为目标,使开发者快速进行以Scala语言为基础的Web应用和网站开发。
Scala语言简介Scala语言编译后的代码直接运行在Java虚拟机之上,可调用所有的Java代码库,Scala设计目标是成为比Java更好的语言。Scala同时具备和整合了面向对象及函数式的编程特性。
Play框架简介Play Framework是一个开源的Web应用框架,使用Scala和Java语言混合编写。Play遵循传统的MVC(Model-View-Controller: 模型、视图和控制器)模式,这一点Lift与其有所不同。
本文主要对Play Framework最新第二版(Play 2.0)进行讲解。
安装和配置Scala和Play Framework开发环境安装 JDKScala作为Java虚拟机语言(JVM Language),与Java一样需要Java虚拟机才能编译和运行,因此开发者须首先安装Java开发工具包(JDK),无论为个人学习还是商业开发,目前均推荐使用JDK 6 (Java SE 6)而非7,亦可使用同版本的OpenJDK。
安装完JDK后,一定要检查环境变量是否设置正确,检验方法:
在命令行程序中任意路径位置,分别输入java -version和javac -version 若输出正确的java和javac版本信息,即表示安装和环境变量设置正确; 若输出的是"command not found"或"不是内部或外部命令,也不是可运行的程序"等错误提示,即表示没有安装成功或环境变量设置有误。
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk6u37-downloads-1859587.html
$ sudo apt-get install openjdk-6-jre
下载Scala、Play工程项目下载地址: http://../go/scala-play-prj.zip
Play 2.0开始使用Scala开发生态中的SBT(Simple Build Tool)作为编译、运行、测试、部署和配置管理系统,类似Java的Maven。
SBT通常以一个sbt-launch.jar文件通过Java指令启动,根据项目的SBT配置文件,自动下载该项目所需的全部工具和类库。SBT可由开发者自行安装在计算机中,作为各种项目的统一工具,也可放入工程项目中以便快速部署。
本文所提供的用于快速入门的工程项目内置了SBT,开发者下载解包后,根据不同的操作系统运行下列命令即可初始化和启动开发环境:
* Window:
cd web_app sbt
* Unix (Linux / Mac OS X ...)
$ cd web_app $ ./sbt
Windows XP 的开发者请注意,由于Play Framework 发布版本的问题(Bug),目前无法在该操作系统上正常开发和运行,Windows 7不受影响。
使用Scala和Play开发环境初始化Scala、Play开发环境首次使用SBT,启动和执行run命令时,SBT会自动下载所需的工具和类库,如:Scala编译器、Scala基础库、Play框架等相应开发和运行所必需的类库,这个过程根据网速快慢可能需要数十分钟至数个小时,开发者此时可以继续阅读本文下面的内容。
运行Scala Play Web应用Scala和Play的开发和测试均在SBT命令行状态下进行。进入项目所在路径启动SBT。
当出现[web_app] $ 时,表示开发环境准备就绪,可以进行开发和测试工作。
输入指令 run :
[web_app] $ run
即可运行本文提供的工程项目Web应用,指令执行后输出以下信息时证明启动成功:
--- (Running the application from SBT, auto-reloading is enabled) ---
[info] play - Listening for HTTP on port 9000...
(Server started, use Ctrl+D to stop and go back to the console...)
"Server started" 表示Web应用已经运行成功,"HTTP on port 9000" 指的是Web应用使用了本机9000端口作为Web服务器监听端口。
此时在浏览器中输入
Scala语言简介Scala语言编译后的代码直接运行在Java虚拟机之上,可调用所有的Java代码库,Scala设计目标是成为比Java更好的语言。Scala同时具备和整合了面向对象及函数式的编程特性。
Play框架简介Play Framework是一个开源的Web应用框架,使用Scala和Java语言混合编写。Play遵循传统的MVC(Model-View-Controller: 模型、视图和控制器)模式,这一点Lift与其有所不同。
本文主要对Play Framework最新第二版(Play 2.0)进行讲解。
安装和配置Scala和Play Framework开发环境安装 JDKScala作为Java虚拟机语言(JVM Language),与Java一样需要Java虚拟机才能编译和运行,因此开发者须首先安装Java开发工具包(JDK),无论为个人学习还是商业开发,目前均推荐使用JDK 6 (Java SE 6)而非7,亦可使用同版本的OpenJDK。
安装完JDK后,一定要检查环境变量是否设置正确,检验方法:
在命令行程序中任意路径位置,分别输入java -version和javac -version 若输出正确的java和javac版本信息,即表示安装和环境变量设置正确; 若输出的是"command not found"或"不是内部或外部命令,也不是可运行的程序"等错误提示,即表示没有安装成功或环境变量设置有误。
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk6u37-downloads-1859587.html
$ sudo apt-get install openjdk-6-jre
下载Scala、Play工程项目下载地址: http://../go/scala-play-prj.zip
Play 2.0开始使用Scala开发生态中的SBT(Simple Build Tool)作为编译、运行、测试、部署和配置管理系统,类似Java的Maven。
SBT通常以一个sbt-launch.jar文件通过Java指令启动,根据项目的SBT配置文件,自动下载该项目所需的全部工具和类库。SBT可由开发者自行安装在计算机中,作为各种项目的统一工具,也可放入工程项目中以便快速部署。
本文所提供的用于快速入门的工程项目内置了SBT,开发者下载解包后,根据不同的操作系统运行下列命令即可初始化和启动开发环境:
* Window:
cd web_app sbt
* Unix (Linux / Mac OS X ...)
$ cd web_app $ ./sbt
Windows XP 的开发者请注意,由于Play Framework 发布版本的问题(Bug),目前无法在该操作系统上正常开发和运行,Windows 7不受影响。
使用Scala和Play开发环境初始化Scala、Play开发环境首次使用SBT,启动和执行run命令时,SBT会自动下载所需的工具和类库,如:Scala编译器、Scala基础库、Play框架等相应开发和运行所必需的类库,这个过程根据网速快慢可能需要数十分钟至数个小时,开发者此时可以继续阅读本文下面的内容。
运行Scala Play Web应用Scala和Play的开发和测试均在SBT命令行状态下进行。进入项目所在路径启动SBT。
当出现[web_app] $ 时,表示开发环境准备就绪,可以进行开发和测试工作。
输入指令 run :
[web_app] $ run
即可运行本文提供的工程项目Web应用,指令执行后输出以下信息时证明启动成功:
--- (Running the application from SBT, auto-reloading is enabled) ---
[info] play - Listening for HTTP on port 9000...
(Server started, use Ctrl+D to stop and go back to the console...)
"Server started" 表示Web应用已经运行成功,"HTTP on port 9000" 指的是Web应用使用了本机9000端口作为Web服务器监听端口。
此时在浏览器中输入