1

作为 scala 的一个实验,我想建立一个使用 scala 作为服务器端语言的基本网站。这不会执行许多交互式任务——它只会编写和分发 HTML 以响应 HTTP 请求。

我不太了解 Web 服务器的管道是如何工作的,但是我已经编写了很多 HTML、CSS、JS 和 PHP,并且我设想它的工作方式很像 wordpress 中的 PHP 后端——客户端发送一个 HTTP 请求例如 example.wordpress.com/2012/06/18/example_blog 和服务器上的 PHP 编译一个 HTML 网页并将其返回给用户。

尽管我对建议持开放态度,但我宁愿不使用像 Lift 这样的完整框架,因为我正试图从头开始构建。我只对将 HTTP 请求作为输入并输出 HTTP 响应这一非常基本的任务感兴趣。

4

2 回答 2

3

通常你会使用一个 Java EE 服务器并实现一个Servlet

这是一个:

package myservlet

import javax.servlet.http._

class Servlet extends HttpServlet {
  /** Servlet's main method. */
  protected def welcome (request: HttpServletRequest, response: HttpServletResponse): Unit = {
    response.getWriter.write ("hi")
  }
  override def doGet (request: HttpServletRequest, response: HttpServletResponse): Unit = welcome (request, response)
  override def doPost (request: HttpServletRequest, response: HttpServletResponse): Unit = welcome (request, response)
}

然后你会像往常一样在 web.xml 中提到它:

<servlet><servlet-name>MyServlet</servlet-name>
  <servlet-class>myservlet.Servlet</servlet-class></servlet>
<servlet-mapping><servlet-name>MyServlet</servlet-name>
  <url-pattern>/</url-pattern></servlet-mapping>

有关详细信息,请参阅任何Java Servlet 教程

于 2012-06-18T15:50:54.010 回答
2

您可能不想处理 Java EE 和整个 servlet 的事情,尤其是如果您不是来自“Java 世界”。

Scala 中有一些非常轻量级的 HTTP 工具包,例如 Blueeyes 或 Play mini,但我最喜欢的绝对是Unfiltered

编辑:关于Rest API Server 的这个线程 Scala 框架的更完整的答案?

于 2012-06-18T16:25:34.470 回答