WEBrick 是用 Ruby 寫的 web server, 若有開發 Web Service 需要也可以用 , 但若開發 web 應用程式 , 你應該用 Rails 比較好 .
1. WEBrick::HTTPServer 為 web server
2. servlet class 請繼承自 HTTPServlet::AbstractServlet
3.
4. require ’webrick’
5. include WEBrick
6.
7. #a function stub to start WEBrick
8. def start_WEBrick(config = {})
9. config.update(:Port => 2000)
10.
11. server = HTTPServer.new(config)
12. yield server if block_given?
13.
14. ['INT', 'TERM'].each do |signal|
15. trap(signal) { server.shutdown }
16. end
17. server.start
18. end
19.
20. class HelloServlet < HTTPServlet::AbstractServlet
21. def do_GET(req, res)
22. res["content-type"] = ”text/html; charset=UTF-8″
23. res.body = %{
24. <html>
25. <body>
26. Hello World!
27. </body>
28. </html>
29. }
30. end
31.
32. alias do_POST do_GET
33. end
34.
35. #
36. start_WEBrick do |server|
37. #servlet ”/hello”
38. server.mount(“/hello”, HelloServlet)
39. end
40. 啟動後請 http://localhost:2000/hello 就可以看到內容
41. WEBrick 也可以處理靜態 html 網頁 , 利用內建 HTTPServlet::FileHandler
42.
43. #
44. start_WEBrick do |server|
45. #document root ”/”
46. doc_root = File.join(Dir.pwd, ’htdocs’)
47. server.mount(“/”, HTTPServlet::FileHandler, doc_root, {:FancyIndexing => true})
end