python – 在Scala中引导Web服务器

以下是可能的使用Python

$apt-get install python
$easy_install Flask
$cat > hello.py
from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()
$python hello.py

4个命令和7行代码让Web服务器运行确实令人印象深刻.

什么是Scala等价物?

最佳答案
我知道Max alire mentioned它,但我无法抗拒指出Scalatra’s 6行你好世界:

import org.scalatra._

class ScalatraExample extends ScalatraServlet {
  get("/") {
    <h1>Hello, world!</h1>
  }
}

无论如何,请查看可用的Scala web frameworks.

编辑

有一些关于如何轻松获得准备工具的讨论,特别是关于Lift.所以,这是Ubuntu上的一个会话.我的大部分时间花在试图找出Sun的Java在包管理器中的位置.无论如何,一旦安装了Java,这是怎么回事,所有消息都消失了,所以可以看到我实际上要输入的内容:

dcs@dcs-desktop:~$wget -q -O bin/sbt-launch.jar http://simple-build-tool.googlecode.com/files/sbt-launch-0.7.4.jar
dcs@dcs-desktop:~$echo 'java -Xmx512M -jar `dirname $0`/sbt-launch.jar "$@"' > bin/sbt
dcs@dcs-desktop:~$chmod u+x bin/sbt
dcs@dcs-desktop:~$mkdir app
dcs@dcs-desktop:~$cd app
dcs@dcs-desktop:~/app$sbt
Project does not exist, create new project? (y/N/s) s
> *lifty is org.lifty lifty 1.4
> lifty create project-blank sample 2.1
> reload
> update
> jetty-run

在那里,web服务器运行.当然,你必须事先了解SBT和Lifty,甚至知道你会使用它们来获得Scala Lift程序,但另一方面,我从来没有听说过Flask,所以我一定会花费更多的时间试图弄清楚如何让一个Web服务器应用程序进入Python比我得到一个电梯.

我也没有得到正确的第一次尝试 – 我试图去Scala 2.8.1(以上使用默认的2.7.7版本,虽然2.8.0也将工作),只是发现没有Lift版本尚可用于该版本的Scala.另一方面,我已经安装了lifest,并且只是去安装它来显示安装它的命令.

我希望有一个用于SBT的Debian / Ubuntu软件包 – 毕竟,它只是一个小的shell脚本和一个jar文件,它负责下载Scala,Lift等,以及您需要的任何版本.

这是一个与Python和Ruby不同的模式,其中的语言带有处理大多数事物的包管理器.

转载注明原文:python – 在Scala中引导Web服务器 - 代码日志