Jetty ES: https://github.com/Lolikitty/JettyES
Router
Jetty ES Router 設定方式是透過程式,而不是 web.xml,透過 package server.http 的HttpServer.java 設定:context.addServlet(new ServletHolder(new IndexHandle()), "/");
中間的 new IndexHandle() 是一個 class, 他放在 package server.http.servlet 裡面,每個class都要繼承 HttpServlet,底下各自會處理 doGet, do Post 方法。
File Server / JSP / Assets
資源檔案全部放在 package webapp.ROOT 底下,jsp / png... / html 都放在這裡。Main Class
Jetty ES 和 servlet 不一樣,他有Main class,而 Main class 放在 package server 裡面。Render JSP
這點和servlet都一樣,一起記錄:req.setAttribute("Order", new int[]{12,3,3,3}); req.getRequestDispatcher("/index.jsp").include(req, res);
Print Writer
如果只是單純想回應頁面,就直接使用 try with resource 的方式設定 out:try(PrintWriter out = res.getWriter()){ out.print(200); }
URL parameter (RESTful)
想取得類似的參數:/api2/oauth/profile/id_123546
後面的 id_123456 可以變成參數,在Router的網址設定請留下 xx/xx/* 成這樣,然後在 do[Method] 裡面,取得:
req.getPathInfo().substring(1);
這樣可以直接取得參數,用substring(1)是因為第 0 位是網址的倒斜線,因此把他去掉。
POST Method Body
要做註冊、輸入帳號密碼、輸入搜尋之類的東西,然後把表單傳到後台,由後台接收了話,就用:req.getParameter("你表單的 name ");
沒有留言:
張貼留言