Servlet我的學習筆記

我的的學習筆記

Servlet(Server Applet)是Java Servlet的簡稱,是運行在 Web 服務器或應用服務器上的程序,它是做爲來自 Web 瀏覽器或其餘 HTTP 客戶端的請求和 HTTP 服務器上的數據庫或應用程序之間的中間層,就是一個Java類,運行在服務器上。

簡略流程圖
clipboard.pngjava

Servlet 執行如下主要任務:

讀取客戶端(瀏覽器)發送的顯式的數據。這包括網頁上的 HTML 表單,或者也能夠是來自 applet 或自定義的 HTTP 客戶端程序的表單。
讀取客戶端(瀏覽器)發送的隱式的 HTTP 請求數據。這包括 cookies、媒體類型和瀏覽器能理解的壓縮格式等等。
處理數據並生成結果。這個過程可能須要訪問數據庫,執行 RMI 或 CORBA 調用,調用 Web 服務,或者直接計算得出對應的響應。
發送顯式的數據(即文檔)到客戶端(瀏覽器)。該文檔的格式能夠是多種多樣的,包括文本文件(HTML 或 XML)、二進制文件(GIF 圖像)、Excel 等。
發送隱式的 HTTP 響應到客戶端(瀏覽器)。這包括告訴瀏覽器或其餘客戶端被返回的文檔類型(例如 HTML),設置 cookies 和緩存參數,以及其餘相似的任務。web

瞭解HTTP協議

超文本傳輸協議(HTTP,HyperText Transfer Protocol)是互聯網上應用最爲普遍的一種網絡協議。全部的WWW文件都必須遵照這個標準。它是TCP/IP協議的一個應用層協議數據庫

Servlet的做用

Servlet帶給咱們最大的做用就是可以處理瀏覽器帶來HTTP請求,並返回一個響應給瀏覽器,從而實現瀏覽器和服務器的交互。瀏覽器

編寫第一個Servlet程序

代碼均在idea編寫
新建一個java類,繼承Servlet接口緩存

public class MyServlet implements Servlet {

    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("開始初始化");
    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        servletResponse.getWriter().write("helloword");
        System.out.println("調用");
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {
        System.out.println("銷燬");
    }
}

init【初始化】,destroy【銷燬】,service【服務,編寫本身的邏輯代碼】,ServletConfig【Servlet配置】,getServletInfo【Servlet信息】tomcat

注意事項:有可能出現找不到Servlet類,在Project Structure下的modules配置
Project Structure:
clipboard.png服務器

clipboard.png
選擇Librariescookie

clipboard.png
選擇一個Tomcat,點擊Apply而後點擊ok。網絡

配置web.xml

生成Servlet的映射app

<?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>demo</servlet-name>//自定義servlet名字
        <servlet-class>demo</servlet-class>//繼承servlet的路徑,包名.類名
    </servlet>

    <servlet-mapping>
        <servlet-name>demo</servlet-name>//須要映射的servlet名字
        <url-pattern>/demo</url-pattern>//映射出來的連接
    </servlet-mapping>
</web-app>

啓動程序

在瀏覽器輸入tomcat設置的連接+映射出來的連接
查看tomcat連接:
clipboard.png

clipboard.png

servlet生命週期

  1. 調用 init () 方法進行初始化,只調用一次
  2. service() 方法來處理客戶端的請求
  3. 中止tomcat,調用 destroy() 方法終止(結束)
相關文章
相關標籤/搜索