Scala是一个运行在JVM上的编程语言,可以很好地与各种运行和监控工具配合使用,也可以与Java或其他编程语言配合使用。Scala借鉴了很多其他语言里面简单、易读的语法。它的优势在于通过各种特性让开发者更有效率地工作。开发者通常认为Scala比起Java更偏向于函数式编程语言。实际上,它是一种混合面向对象和函数式的编程语言。像Scala这样的语言会吸引来自高技术团队里的更灵活、高水平和具有创新精神的开发者。接下来让我们开看如何在云应用里使用这门灵活的语言吧!
创建应用
1. 首先在你的操作系统上安装sbt。这是一个Scala和Java项目的构建工具。
2. 现在让我们创建一个用于测试的简单Scala servlet应用程序。Helloworld.scala (src/main/scala/helloworld.scala
)文件内容如下:
importjavax.servlet.http._
classHelloWorldServlet extendsHttpServlet {
overridedef doGet(req: HttpServletRequest, resp: HttpServletResponse) = {
resp.getWriter().print("Hello World!")
}
}
3. 在src/main/webapp
目录为你的项目新建
web.xml 文件:
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
构建和部署项目
Xsbt-web-plugin
1. 为WAR文件构建添加特殊插件,添加xsbt-web-plugin到project/plugins.sbt:
1
addSbtPlugin("com.earldouglas"% "xsbt-web-plugin"% "0.3.0")
2. 在项目的根目录创建build.sbt
文件。指定应用的名字、版本号、Scala版本和注入的插件配置:
name := "helloworld"
version := "1.0"
scalaVersion := "2.9.2"
seq(webSettings :_*)
libraryDependencies ++= Seq(
"javax.servlet" % "servlet-api" % "2.5",
"org.mortbay.jetty" % "jetty" % "6.1.22" % "container"
)
3. 在根目录创建一个 build.properties
文件并指定sbt版本,这样可以避免任何潜在的冲突:
sbt.version=0.12.4
4. 从你的根目录执行下一个命令,构建WAR文件:
1
>compile:package-war
刚生成的WAR文件会存在target/scala-x.x.x
目录。
5. 回到Jelastic配置面板,将你的WAR包上传到部署管理器。