2014-02-06 55 views
1

對於我的一個簡單應用,所有的路由都由nginx處理。我只是把PHP文件放在引用的目錄中,它們是服務請求:不使用框架。我正在嘗試將此方案遷移到Scala:我想通過逐漸替換每個在Scala中使用的腳本來實現。Web服務器處理多個特設的Scala腳本?

是否有一個可以自動編譯和提供目錄下的所有scala文件的PHP服務器的Scala對應?所以,當我把代碼放在/book/new.scala/book/buy.scala,/user/login/auth.scala等,服務器將編譯和提供所有的相應的請求?

+0

這不是在scala中完成的事情。使用框架。 :-) – dmitry

+0

我應該補充說這是我在scala標籤下看到的最奇怪的問題:-) – dmitry

+0

我看過Play 2這看起來很不錯,但問題是我已經在Nginx中編寫了路由邏輯,所以我只需要scala來處理一些數據庫查詢的東西,這可能不需要框架。 – Dionysian

回答

3

從最嚴格的技術意義上講,Scala可以被用作「腳本語言」,但它在這方面可以合理地完成的東西相當有限。

正如其他人所評論的,您應該爲Scala應用程序創建一個合適的服務器。從簡單和輕量級到大和奇特都有很多選擇。大多數使用Java Servlet容器,但有些實現自己的HTTP服務器端。

你有很多選擇,但「腳本」真的不是可行的。

2

你可能會看看Lift Framework,並且只打算使用框架的endpoint/RESTful部分。通過這種方式,您可以識別對Web服務器的關鍵請求,並將它們傳遞給基於Scala的代碼。 Lift會管理一切的Web服務器部分。

也就是說,這是一個非常奇怪的方式來管理一個Web應用程序,並回到九十年代基於CGI腳本的體系結構。問問你自己爲什麼試圖在繼續之前以這種方式建模,並詢問運行兩個容器(php和Scala)的難度是否真的值得麻煩,以便「緩解」遷移。