【Java Web開發】學習servlet入門一

目錄

一、什麼是Servlet

二、實現Servlet的方式有三種:

三、Servlet之接口和類的介紹,以及實現Servlet接口

 


 

文章相關視頻出處阿里雲:https://developer.aliyun.com/lesson_1700_13639?spm=5176.8764728.0.0.294e1ae3KoGd8h#_13639

一、什麼是Servlet

         Servlet是Java Web的三大組件(Servlet,Filter,Listener)之一,它屬於動態資源。Servlet的作用是處理請求,服務器會把接收到的請求交給Servlet來處理,在Servlet中通常需要:

        ·接收請求數據;

        · 處理請求;

        · 完成響應。

         例如客戶端發出登錄請求,或者輸出註冊請求,這些請求都應該由Servlet來完成處理!Servlet需要我們自己來編寫,每個Servlet必須實現javax.servlet.Servlet接口。

        特性
        1servlet是單例的,一個類只有一個對象
        2不是線程安全的

 

二、實現Servlet的方式有三種:

        ·實現javax.servlet.Servlet接口;

        · 繼承java.servlet.GenericServlet類;

        · 繼承javax.servlet.http.HttpServlet類;

         通常我們會去繼承HttpServlet類來完成我們的Servlet,但學習Servlet還要從javax.servlet.Servlet接口開始學習。

三、Servlet之接口和類的介紹,以及實現Servlet接口

package servlet;

import javax.servlet.*;
import java.io.IOException;

/**
 * Created by kevin on 2020/4/3.
 */
public class Aservlet implements Servlet{
    /**
     * 它是生命週期方法
     * 它會在servlet對象創建之後馬上執行,並只執行一次(出生之後)
     * @param servletConfig
     * @throws ServletException
     */
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("init()……");
    }

    /**
     *可以用來獲取servlet配置信息
     * @return
     */
    @Override
    public ServletConfig getServletConfig() {
        System.out.println("getServletConfig()……");
        return null;
    }

    /**
     * 它是生命週期方法
     * 它會被調用多次!!!
     * 每次處理請求都是在調用這個方法
     * @param servletRequest
     * @param servletResponse
     * @throws ServletException
     * @throws IOException
     */
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("service()……");
    }

    /**
     * 獲取servlet信息...沒啥用
     * @return
     */
    @Override
    public String getServletInfo() {
        System.out.println("getServletInfo()……");
        return "我是一個快樂的servlet o(* ̄︶ ̄*)o";
    }

    /**
     * 它也是聲明週期方法
     * 它會在servlet被銷燬之前調用,並且它只會被調用一次
     */
    @Override
    public void destroy() {
        System.out.println("destroy()……");
    }
}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章