寫一個 servlet 的方法
阿新 • • 發佈:2019-01-07
前提: 會新建web專案,指定 web 容器如tomcat
1. servlet 方面
編寫的servlet 要實現 Servlet介面或者繼承 HttpServlet抽象類
參考程式碼:
package demo; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * @author jacktu * Creaet Date 2018-03-16 */ public class HelloServlet extends HttpServlet {//繼承 HttpServlet @Override /** * Servlet容器收到請求之後,會呼叫 Servlet的service方法來處理請求。<br/> * 注: 容器會事先建立好request和response, <br/> * 其中,request物件封裝了請求資料包裡面的 所有資料。 <br/> * 我們可以將處理結果寫到response 物件裡面, <br/> * 然後容器負責從response物件從獲取處理結果,然後打包傳送給瀏覽器。 <br/> */ protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /* * 設定content-type訊息頭,告訴瀏覽器, 伺服器返回的資料型別。 */ response.setContentType("text/html"); /* * 通過response物件獲得輸出流。 */ PrintWriter out = response.getWriter(); /* * 把資料寫到response物件上。 * 注: Servlet容器會將response物件上存放的 資料取出來 * ,打一個包(響應資料包), 然後傳送給瀏覽器。 */ out.println("<h1>Hello Kitty</h1>"); /* * 如果沒有呼叫out.close,則容器會自動 關閉out。 */ out.close(); } }
2.配置方面
以下是 專案中 web.xml中的內容
web.xml 位置: webapp/WEB-INF/web.xml 或者 src/main/webapp/WEB-INF/web.xml
eclipse的話 按 Ctrl+Shift+R ,然後輸入 web.xml 就可以找到
參考配置:
<!-- 此處是你自動生成的,複製時不要貼上 --> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <!-- 編寫的servlet配置 --> <servlet> <!-- servlet名字(我隨便取的) --> <servlet-name>Hello</servlet-name> <!--完整的類名 ,包名.類名 --> <servlet-class>demo.HelloServlet</servlet-class> </servlet> <servlet-mapping> <!-- servlet名字,和上面保持一致 --> <servlet-name>Hello</servlet-name> <!-- 相對專案訪問路徑 --> <url-pattern>/hello</url-pattern> </servlet-mapping>
3.訪問路徑
http//ip地址:埠號/專案名/servlet 的url 路徑
例如: http://localhost:8080/HelloWorld/hello