【问题标题】:Setting up a basic scala program on a server在服务器上设置一个基本的 scala 程序
【发布时间】:2012-06-18 15:44:06
【问题描述】:

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

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

虽然我愿意接受建议,但我宁愿不使用完整的框架,例如 Lift,因为我正在尝试从头开始构建。我只对将 HTTP 请求作为输入并输出 HTTP 响应这一非常基本的任务感兴趣。

【问题讨论】:

    标签: http scala webserver


    【解决方案1】:

    通常您会使用 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 tutorial

    【讨论】:

      【解决方案2】:

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

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

      编辑:关于此线程的更完整答案Scala framework for a Rest API Server?

      【讨论】:

      • 我强烈支持这个答案。不加过滤就试试吧,很可能你会很开心。
      猜你喜欢
      • 2016-11-10
      • 1970-01-01
      • 2010-11-11
      • 2011-05-09
      • 2012-01-14
      • 1970-01-01
      • 2012-05-19
      • 1970-01-01
      • 2015-04-06
      相关资源
      最近更新 更多