javaweb servlet详解

servlet详解

1.快速入门

1.1 pom.xml 加入依赖

<dependencies>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <scope>provided</scope>
        <version>4.0.1</version>
    </dependency>
</dependencies>

1.2 打包改成

<packaging>war</packaging>

1.3 main 创建 java、resources

  创建HelloServlet

package com.cj.servlet;

import javax.jws.WebService;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;

@WebServlet("/demo")
public class HelloServlet 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("进入servlet");
    }

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

    @Override
    public void destroy() {

    }
}

2.调用

2.1 web服务调用servlet,servlet执行service

3.生命周期

3.1 加载和实例化: 当servlet第一次被访问时,容器创建servlet

3.2 初始化:servlet实例化之后,容器将调用servlet的init()

3.3 访问service: 每次servlet都调用service

3.4 销毁

package com.cj.servlet;

import javax.jws.WebService;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;

@WebServlet(urlPatterns="/demo",loadOnStartup = 1)
public class HelloServlet implements Servlet {
    /**
     * 调用时机:默认第一次访问的时候调用
     * 调用次数:一次
     * @param servletConfig
     * @throws ServletException
     */
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("init...");
    }

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

    /**
     * 调用时机:每一次servlet被访问时
     * 调用次数:多次
     * @param servletRequest
     * @param servletResponse
     * @throws ServletException
     * @throws IOException
     */
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("进入servlet");
    }

    /**
     * 调用时机:每一次servlet被访问时
     * 调用次数:多次
     * @return
     */
    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {
        System.out.println("销毁");
    }
}

4 HttpServlet

package com.cj.servlet;

import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet(urlPatterns="/demo4",loadOnStartup = 1)
public class demo4 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("get...");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("post...");

    }
}

 

 

    

 

posted @ 2022-08-13 23:27  写代码的小哥哥  阅读(275)  评论(0)    收藏  举报