Servlet方法介绍及体系结构

简介: Servlet方法介绍及体系结构

一、Servlet方法

初始化方法,在Servlet被创建时执行,只执行一次

void  init(ServletConfig  config)

提供服务方法,每次Servlet被访问,都会调用该方法

void  service(ServletRequest  req,ServletResponse  res)

销毁方法,当Servlet被销毁时,调用该方法。在内存释放或服务器关闭时销毁Servlet

void  detroy()

获取ServletConfig对象

ServletConfig getServletConfig()

获取Servlet信息

String  getServletInfo()

代码示例:

import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
/**
 * Servlet:生命周期方法
 */
@WebServlet(urlPatterns = "/demo3",loadOnStartup = 1)
public class ServletDemo3 implements Servlet {
    private ServletConfig config;
    /**
     * 初始化方法
     * 1、调用时间:Servlet被第一次访问时,调用
     * 2、调用次数:1次
     * @param servletConfig
     * @throws ServletException
     */
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        this.config = config;
        System.out.println("init...");
    }
    @Override
    public ServletConfig getServletConfig() {
        return config;
    }
    /**
     * 提供服务
     * 1、调用时间,每一次Servlet被访问时,调用
     * 2、调用次数:多次
     *
     * @param servletRequest
     * @param servletResponse
     * @throws ServletException
     * @throws IOException
     */
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("servlet hello world~");
    }
    /**
     * 销毁方法
     * 1、调用时间,内存释放或者服务器关闭的时候,Servlet对象会被销毁,调用
     * 2、调用次数:1次
     */
    @Override
    public void destroy() {
        System.out.println("destroy...");
    }
    @Override
    public String getServletInfo() {
        return "";
    }
}

二、Servlet体系结构

7d1a7ec2c5dd4378958246f1507d0937.png

将来开发B/S架构的web项目,都是针对HTTP协议,所以定义Servlet,会继承HttpServlet


代码示例:

import javax.servlet.ServletException;
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("/demo4")
public class ServletDemo4 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...");
    }
}

1、HttpSerlet使用步骤:①继承HttpSerlet·②重写doGet和doPost方法


2、HttpServlet原理:获取请求方式,并根据不同的请求方式,调用不同doXxx方法

目录
相关文章
|
2天前
|
前端开发 JavaScript Java
获取Servlet中的request.getContextPath方法详解
获取Servlet中的request.getContextPath方法详解
|
4天前
|
XML 数据格式
XML配置Servlet文件,不使用注解配置路径的方法
XML配置Servlet文件,不使用注解配置路径的方法
|
4天前
|
应用服务中间件
序-Servlet和SpringMVC的联系和区别-配置路径先想好使用的使用的方法,然后匹配的需要的技术
序-Servlet和SpringMVC的联系和区别-配置路径先想好使用的使用的方法,然后匹配的需要的技术
|
2月前
|
存储 Java 应用服务中间件
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解(2)
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解
28 2
|
2月前
|
Web App开发 XML Java
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解(1)
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解
37 2
|
8月前
|
缓存 Java
严重: Servlet[jsp]的Servlet.service()抛出异常 java.lang.IllegalStateException: 当前响应已经调用了方法getOutputStream()
严重: Servlet[jsp]的Servlet.service()抛出异常 java.lang.IllegalStateException: 当前响应已经调用了方法getOutputStream()
361 0
|
开发框架 Java .NET
为什么不重写Servlet中的Service()方法
为什么不重写Servlet中的Service()方法
|
9天前
|
自然语言处理 前端开发 Java
Servlet与JSP:Java Web开发的基石技术详解
【6月更文挑战第23天】Java Web的Servlet与JSP是动态网页的核心。Servlet是服务器端的Java应用,处理HTTP请求并响应;JSP则是结合HTML与Java代码的页面,用于动态内容生成。Servlet通过生命周期方法如`init()`、`service()`和`destroy()`工作,而JSP在执行时编译成Servlet。两者在MVC架构中分工,Servlet处理逻辑,JSP展示数据。尽管有Spring MVC等框架,Servlet和JSP仍是理解Web开发基础的关键。