我想知道如何在ruby中做web服務器編程。總之請解釋一下紅寶石提供什麼替代Servlets,JSP的如何在ruby中做web服務器編程?
回答
如上所述,Rails是最流行的框架,雖然其他人也越來越受歡迎。
如果您一直在使用Java,那麼您習慣於聲明包含調度程序servlet的servlet,然後爲您的控制器操作定義自定義路由。在Rails中,路由是由會議驅動的。例如,如果您有User
對象,那麼將resources :users
放入您的config/routes.rb
將創建路由到少數REST操作。 See this page的例子。您也可以爲更多特殊情況制定自定義路線,但是對於大多數使用情況,您的典型映射就足夠了。
您也習慣了JSP。 ERB與JSP非常相似,但更易於使用。您可以將服務器代碼置於<% %>
標記之間,並且您可以放入HTML標記和JavaScript標記(儘管您的JavaScript應該確實在JavaScript文件中,但這是一個不同的討論),還有生成html的Rails助手(JSP具有類似的實用程序)。您還可以定義自定義表單構建器,以便您可以創建自己的幫助器,這在某些使用情況下非常方便。然而,ERB正在失去人氣,許多人更喜歡haml,它完全提取掉了html標記。但我從來沒有反對再培訓局。除此之外,Rails使用MVC模式,如果您使用過Spring-MVC,那麼您可能會熟悉MVC模式,但在Rails中,它的約定優於配置,所以當您的控制器中有一個名爲index
的操作時,Rails會假設您在相應的視圖路徑中有一個index.html.erb。所以你通常不會指定你的視圖,儘管Rails可以很方便地響應不同的內容類型的請求。例如:
respond_to do |format|
format.html
format.js { render :json => @obj }
end
所以默認的響應會查找html.erb模板,但如果它是AJAX請求,它會發回一個JSON對象。您還可以返回xml和其他任何您想要的內容,但某些內容類型可能需要插件/寶石。
如果你習慣了Spring-MVC,我認爲你會發現Rails很熟悉,但另一方面也非常方便。玩的開心!
我認爲比你需要的是一個Web框架,在這種情況下(Ruby)的Ruby on Rails或Sinatra例如。
我喜歡這些實驗室。他們在解釋Rails的體系結構方面做得很好,而且它裏面有殭屍。
你可以閱讀的Rails的一些教程,瞭解它的MVC模式,而部分比較J2EE。
也有類似的想法,但在我看來,軌道更方便,你不需要寫這麼多的XML配置。通過使用Ruby語言,你可以有更高的效率。
查看http://railstutorial.com。您可以同時閱讀線上的代碼和代碼。到你完成的時候,你會學到很多東西。
- 1. 如何在ruby中編寫web /應用程序服務器?
- 2. 如何在Ruby中編寫改變Web代理服務器的內容?
- 3. 如何在Ruby中創建服務器(如rails服務器或gem服務器)?
- 4. Web服務器上的元編程
- 5. Web服務器和套接字編程
- 6. 遠程Web服務器編譯?
- 7. 如何在java中的web服務器上編寫
- 8. 如何做REST Web服務的工作
- 9. 在Ruby中構建Web服務
- 10. Ruby:輕量級web服務器
- 11. Ruby 2.0的Web服務器選項?
- 12. 如何在Java中實現多線程Web服務器
- 13. 如何通過SSH在遠程服務器上運行Web服務器腳本?
- 14. 如何在Rails或Ruby中使用json或xml Web服務?
- 15. 如何在Ruby/Rails中測試發送到Web服務的XML
- 16. 如何在詭計Web服務器
- 17. Ruby/Rails和Sharepoint Web服務
- 18. 從Web瀏覽器編程ruby
- 19. 服務器到服務器Web服務
- 20. 如何在JavaScript中編寫Web服務客戶端以在jsp Web項目中調用Web服務?
- 21. 如何在Windows服務器服務總線中註冊Asp.net Web服務
- 22. Ruby線編輯telnet服務器
- 23. 從服務器端Ruby Web應用程序調用Excel公式
- 24. 以編程方式停止Web服務中的Windows服務
- 25. 如何以編程方式遠程調用Web服務?
- 26. 如何在現有Web Storm項目上編輯我的遠程FTP服務器?
- 27. Ubuntu編譯的程序在Unix web服務器上運行
- 28. 如何使用soap編寫web服務
- 29. 如何使用cakephp編寫Web服務
- 30. Web服務的服務器
Rails是Ruby Web編程中的一把大槍。如果你不瞭解Ruby,那麼我不會推薦從Rails開始,因爲這將是一個非常陡峭的學習曲線,很多部分都沒有任何意義。 [Sinatra](http://www.sinatrarb.com/)是一個非常強大的Ruby輕量級Web環境。兩者之間是[Padrino](http://www.padrinorb.com/)。我建議從Sinatra開始,用Ruby和Ruby方式讓自己的雙腳溼潤,然後看看其他兩個,看看有什麼感覺。 – 2010-12-22 19:15:58