美文网首页
十二、 ServletContext对象

十二、 ServletContext对象

作者: 真是个点子王 | 来源:发表于2020-11-12 09:42 被阅读0次

1. ServletContext概述

  • 全局对象,也拥有作用域,对应一个Tomcat中的Web应用
  • 当Web服务器启动时,会为每一个Web应用程序创建一块共享的存储区域(ServletContext)
  • ServletContext在Web服务器启动时创建,服务器关闭时销毁。

2.获取ServletContext对象

  • GenericServlet提供了getServletContext()方法。this.getServletContext();
  • HttpServletRequest提供了getServletContext()方法;
  • HttpSession提供了getServletContext()方法。
package com.qf.servletProject.servlet.controller;

import com.mysql.cj.Session;

import javax.servlet.ServletContext;
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 javax.servlet.http.HttpSession;
import java.io.IOException;
import java.net.HttpURLConnection;

@WebServlet(name = "ServletContextController",value = "/ctxController")
public class ServletContextController extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 1. 通过this.getServletContext();
        ServletContext servletContext = this.getServletContext();

        // 2.通过request对象获取
        ServletContext servletContext1 = request.getServletContext();

        // 3.通过session对象获取
        HttpSession session = request.getSession();
        ServletContext servletContext2 = session.getServletContext();

        System.out.println(servletContext);
        System.out.println(servletContext1);
        System.out.println(servletContext2);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);
    }
}

  • 如上代码中,使用了三种方式创建了ServletContext对象,需要明确的是,这三个对象是同一个。

3. ServletContext作用

3.1 获取项目真实路径

3.2 获取项目上下文路径

3.3 全局容器

3.4 ServletContext特点

作用域总结

相关文章

网友评论

      本文标题:十二、 ServletContext对象

      本文链接:https://www.haomeiwen.com/subject/xblybktx.html