Servlet的實現

cxy8發表於2024-03-13

繼承HttpServlet類

這是最常用的一種方式

package com.testservelet;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;

@WebServlet("/s01")
public class Serlet01 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //控制檯列印
        System.out.println("hi servlet");
        //響應給瀏覽器一句話
        resp.getWriter().write("hi servlet");
    }
}

實現Servlet抽象類

需要把所有抽象類裡面所有的方法都重寫

package main.java.servelet;

import jakarta.servlet.*;

import java.io.IOException;

public class servelet implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {

    }

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

    //提供服務的方法
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("Hello Servelet");
    }

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

    @Override
    public void destroy() {

    }
}

如何訪問到我們寫的這個類呢?
這有兩種方式

註解@WebServlet("/s01")


@WebServlet("/s01")

這是最簡單的方式,直接用註解

原始的方法

配置web.xml檔案
image
透過url知道name,然後透過name找到具體在那個包的那個類裡面

相關文章