我的第一個 Servlet
阿新 • • 發佈:2018-11-27
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