最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

Servlet中ServletConfig接口和ServletContext接口的作用

IT圈 admin 4浏览 0评论

Servlet中ServletConfig接口和ServletContext接口的作用

前言:
Servlet的作用:

  • Servlet 是接口,是 JavaEE 规范之一。接口起到了规范的作用。
  • Servlet 是 JavaWeb 三大组件之一。三大组件分别是:Servlet 程序、Filter 过滤器、Listener 监听器。
  • Servlet 是运行在服务器上的一个 java 小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。
  • 也就是说Servlet接口的实现类等待着Tomcat服务器来调用类中的方法,这个地方运用到了java中的多态。

一. ServletConfig接口的作用

知识点:

  • ServletConfig接口的实现类 是 Servlet 程序的配置信息类。
  • Servlet 程序和 ServletConfig 对象都是由 Tomcat 负责创建,我们负责使用。
  • Servlet 程序默认是第一次访问的时候才创建,ServletConfig 是每个 Servlet 程序创建时,就创建一个对应的 ServletConfig 对象。

作用:

  • 可以获取 Servlet 程序的别名 servlet-name 的值
  • 获取初始化参数 init-param
  • 获取 ServletContext 对象

如下:


ps:
可能大家会有如下疑问,为什么如下截图的两个方法都可以取得ServletContext类的对象

这是因为getServletContext()方法内部也是调用了config.getServletContext(),我们可以点进getServletContext()方法体,如下:

web.xml内容如下:

输出结果:

二.ServletContext接口的作用

知识点:

  • ServletContext它表示 Servlet 上下文对象
  • 一个 web 工程,只有一个 ServletContext 对象实例。
  • ServletContext 对象是一个域对象。(域对象,是可以像 Map 一样存取数据的对象,叫域对象。 这里的域指的是存取数据的操作范围,整个 web 工程。)
  • ServletContext接口的实现类 是在 web 工程部署启动的时候由Tomcat创建。在 web 工程停止的时候就销毁。

作用:

  • 获取 web.xml 中配置的上下文参数 context-param
  • 获取当前的工程路径,格式: /工程路径
  • 获取工程部署后在服务器硬盘上的绝对路径
  • 像 Map 一样存取数据
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {ServletContext servletContext = getServletContext();//获取 web.xml 中配置的上下文参数 context-paramSystem.out.println(servletContext.getInitParameter("contextName01"));//获取当前的工程路径,格式: /工程路径System.out.println(servletContext.getContextPath());//获取工程部署后在服务器硬盘上的绝对路径System.out.println(servletContext.getRealPath("/"));//像 Map 一样存取数据servletContext.setAttribute("key1","value1");System.out.println(servletContext.getAttribute("key1"));
}

web.xml部分内容:

Servlet中ServletConfig接口和ServletContext接口的作用

前言:
Servlet的作用:

  • Servlet 是接口,是 JavaEE 规范之一。接口起到了规范的作用。
  • Servlet 是 JavaWeb 三大组件之一。三大组件分别是:Servlet 程序、Filter 过滤器、Listener 监听器。
  • Servlet 是运行在服务器上的一个 java 小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。
  • 也就是说Servlet接口的实现类等待着Tomcat服务器来调用类中的方法,这个地方运用到了java中的多态。

一. ServletConfig接口的作用

知识点:

  • ServletConfig接口的实现类 是 Servlet 程序的配置信息类。
  • Servlet 程序和 ServletConfig 对象都是由 Tomcat 负责创建,我们负责使用。
  • Servlet 程序默认是第一次访问的时候才创建,ServletConfig 是每个 Servlet 程序创建时,就创建一个对应的 ServletConfig 对象。

作用:

  • 可以获取 Servlet 程序的别名 servlet-name 的值
  • 获取初始化参数 init-param
  • 获取 ServletContext 对象

如下:


ps:
可能大家会有如下疑问,为什么如下截图的两个方法都可以取得ServletContext类的对象

这是因为getServletContext()方法内部也是调用了config.getServletContext(),我们可以点进getServletContext()方法体,如下:

web.xml内容如下:

输出结果:

二.ServletContext接口的作用

知识点:

  • ServletContext它表示 Servlet 上下文对象
  • 一个 web 工程,只有一个 ServletContext 对象实例。
  • ServletContext 对象是一个域对象。(域对象,是可以像 Map 一样存取数据的对象,叫域对象。 这里的域指的是存取数据的操作范围,整个 web 工程。)
  • ServletContext接口的实现类 是在 web 工程部署启动的时候由Tomcat创建。在 web 工程停止的时候就销毁。

作用:

  • 获取 web.xml 中配置的上下文参数 context-param
  • 获取当前的工程路径,格式: /工程路径
  • 获取工程部署后在服务器硬盘上的绝对路径
  • 像 Map 一样存取数据
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {ServletContext servletContext = getServletContext();//获取 web.xml 中配置的上下文参数 context-paramSystem.out.println(servletContext.getInitParameter("contextName01"));//获取当前的工程路径,格式: /工程路径System.out.println(servletContext.getContextPath());//获取工程部署后在服务器硬盘上的绝对路径System.out.println(servletContext.getRealPath("/"));//像 Map 一样存取数据servletContext.setAttribute("key1","value1");System.out.println(servletContext.getAttribute("key1"));
}

web.xml部分内容:

发布评论

评论列表 (0)

  1. 暂无评论