作为scala中的一个实验,我想建立一个使用scala作为服务器端语言的基本网站。这不会执行许多交互式任务 - 它只是编写和分发HTML以响应HTTP请求。
我不太了解网络服务器的管道是如何工作的,但是我已经写了很多HTML,CSS,JS和PHP,我设想这个工作就像wordpress中的PHP后端一样 - 客户端发送页面的HTTP请求,例如example.wordpress.com/2012/06/18/example_blog,服务器上的PHP编译HTML网页并将其返回给用户。
虽然我对建议持开放态度,但我还是不要使用一个完整的框架,例如Lift,因为我试图从头开始构建。我只对将HTTP请求作为输入并输出HTTP响应的基本任务感兴趣。
答案 0 :(得分: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 tutorial。
答案 1 :(得分:2)
您可能不想处理Java EE和整个servlet事务,特别是如果您不是来自“Java世界”。
Scala中有一些非常轻量级的HTTP工具包,比如Blueeyes或Play mini,但我最喜欢的是Unfiltered
的更完整答案