1. 程式人生 > >我的第一個 Servlet

我的第一個 Servlet

hello 獲取 int 標題 客戶 art ide .org vax

簡單記錄一下我從頭寫一個 Servlet 的過程。

我安裝的是 Tomcat 7 版本,在 Ubuntu 18.04 上運行,IDE 為 Intellij IDEA。

首先創建一個 Java Web 項目,進入你的 IDEA,然後點擊 Create New Project。如下圖所示:

技術分享圖片

選擇完畢之後點擊下一步。

然後給你的項目取個名字,第一個就叫 HelloWorld 好了。

技術分享圖片

第三步是新建一個 Java 類文件,在你的 src 路徑下,新建包和 Java 類文件,然後在類文件中開始寫一個 Servlet。

技術分享圖片

寫一個最簡單的 Servlet,只實現一個 Get 請求,這就需要我們的 Servlet 類繼承 HttpServlet 父類,然後重寫 doGet 方法。

具體代碼如下:

package cn.zhongdeming;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.Writer;

public class HelloWorld extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//        super.doGet(req, resp);
        Writer writer = resp.getWriter();
        ((PrintWriter) writer).print("<h1>Hello World!</h1><p>This is from a Java Servlet!</p>");
    }
}

  

在 doGet 方法中,我們通過 resp 對象的 getWriter 方法,獲取到了一個 PrintWriter 對象。然後我們可以通過這個對象向客戶端瀏覽器做出回應。

我們傳回去了一個字符串,是一個標題和一段文字。

寫好了 Servlet 還不夠,還要配置 Servlet,讓 Tomcat 容器能夠知道我們的 Servlet 的信息。

寫好我們的 web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <servlet> <servlet-name>HelloWorld</servlet-name> <servlet-class>cn.zhongdeming.HelloWorld</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloWorld</servlet-name> <url-pattern>/HelloWorld</url-pattern> </servlet-mapping> </web-app>

需要我們寫的代碼是 servlet 節點和 servlet-mapping 節點以及它們所有的子節點。分別交代了我們的 HelloWorld Servlet 的位置,以及其對應的前端路由。

接下來我們就可以啟動我們的 Tomcat 查看效果了。

點擊右上角的運行按鈕,啟動 Tomcat:

技術分享圖片

然後在我們的瀏覽器中輸入 localhost:8080/HelloWorld,即可看到效果如下:

技術分享圖片

註意事項

  • 如果第一次新建 Java Web 項目,還需要配置 IDEA Intellij。具體參考:Intellij 新建 Java Web 項目
  • IDEA 有可能無法找到 javax.servlet,需要手動導入 Tomcat 安裝目錄下的 lib 文件夾中的 servlet-api.jar 包。

我的第一個 Servlet