JavaWeb 之 ServletConfig 接口

一、ServletConfig 接口

  1、简介

    ServletConfig 类,见名知意,就是 Servlet 程序的配置信息类。

    Servlet 程序和 ServletConfig 对象都是由 Tomcat 负责创建,供我们使用的。

    Servlet 程序默认是第一次访问的时候创建,ServletConfig 是每个 Servlet 程序创建时,就创建一个与之对应的 ServletConfig 对象。

  2、接口的信息

    ServletConfig 这个类中声明了四个方法,可以看到这四个方法都是与 Servlet 有关的。

    

  3、获取 ServletConfig 对象

    在 Servlet 接口的初始化方法,有一个 ServletConfig 类型的参数,同时还给提供了一个获取 ServletConfig 对象的方法。

                 

         

    在 GenericServlet 抽象类中,声明了一个 ServletConfig 类型的成员变量,而且对 ServletConfig 接口和 Servlet 接口中的方法进行了实现。

      

        所以,只需要调用 ServletConfig() 方法就可以获得 ServletConfig 对象。

       但是,还要注意一点:如果在一个 继承 HttpServlet的 servlet 中重写了init()方法,那么在首行一定要调用父类 init(ServletConfig) 的操作,不然默认调用 GenericServlet 的无参构造,这样声明的 ServletConfig 成员变量就是 null,在 servlet 中使用会报错的。

      没有重写 init(ServletConfig) 方法,正确打印:

      

      重写了但是没有调用 super.init(ServletConfig),获取空对象:

        

         

二、ServletConfig 类的三大作用

  1、可以获取 Servlet 程序的别名 servlet-name 的值

  2、可以获取 Servlet 初始化参数 init-param

  3、可以获取 ServletContext 对象

    Demo:

 1 <!-- servlet 标签给 Tomcat 配置 Servlet 程序 -->
 2     <servlet>
 3         <!--servlet-name 标签 Servlet 程序起一个别名(一般是类名) -->
 4         <servlet-name>HelloServlet</servlet-name><!--servlet-class 是 Servlet 程序的全类名-->
 5         <servlet-class>com.servlet.HelloServlet</servlet-class>
 6         <!--init-param 是初始化参数-->
 7         <init-param>
 8             <!--是参数名-->
 9             <param-name>username</param-name>
10             <!--是参数值-->
11             <param-value>root</param-value>
12         </init-param>
13         <!--init-param 是初始化参数-->
14         <init-param>
15             <!--是参数名-->
16             <param-name>url</param-name>
17             <!--是参数值-->
18             <param-value>jdbc:mysql://localhost:3306/test</param-value>
19         </init-param>
20     </servlet>
21     <!--servlet-mapping 标签给 servlet 程序配置访问地址-->
22     <servlet-mapping>
23         <!--servlet-name 标签的作用是告诉服务器, 我当前配置的地址给哪个 Servlet 程序使用-->
24         <servlet-name>HelloServlet</servlet-name>
25         <!--
26         url-pattern 标签配置访问地址 <br/>
27         / 斜杠在服务器解析的时候, 表示地址为: http://ip:port/工程路径 <br/>
28         /hello 表示地址为: http://ip:port/工程路径/hello <br/>
29         -->
30         <url-pattern>/hello</url-pattern>
31     </servlet-mapping>

  Servlet 程序:

 1 @Override
 2     public void init(ServletConfig servletConfig) throws ServletException {
 3         System.out.println("2 init 初始化方法");
 4         // 1、 可以获取 Servlet 程序的别名 servlet-name 的值
 5         System.out.println("HelloServlet 程序的别名是:" + servletConfig.getServletName());
 6         // 2、 获取初始化参数 init-param
 7         System.out.println("初始化参数 username 的值是;" + servletConfig.getInitParameter("username"));
 8         System.out.println("初始化参数 url 的值是;" + servletConfig.getInitParameter("url"));
 9         // 3、 获取 ServletContext 对象
10         System.out.println(servletConfig.getServletContext());
11     }

原文地址:https://www.cnblogs.com/niujifei/p/12425799.html

时间: 2024-07-31 22:54:47

JavaWeb 之 ServletConfig 接口的相关文章

ServletConfig接口默认是哪里实现的?

问题:Servlet接口默认是哪里实现的? 答:GenericServlet 1.结构 2.ServletConfig.GenericServlet.HttpServlet的关系如下: public abstract class GenericServlet implements Servlet, ServletConfig,java.io.Serializable     public abstract class HttpServlet extends GenericServlet    

ServletConfig 接口

一.ServletConfig 接口介绍: 封装了Servlet的配置信息,并且可以获取ServletContext对象 Servlet引擎将代表Servlet容器的对象(ServletContext)和Servlet的配置参数信息一并封装到一个称为ServletConfig的对象中,并在初始化Servlet实例对象时传递给该Servlet. ServletConfig接口则用于定义ServletConfig对象需要对外提供的方法,以便在Servlet程序中可以调用这些方法来获取有关信息. Se

ServletConfig接口

ServletConfig接口 Servlet容器初始化Servlet对象时会为Servlet创建一个ServletConfig对象,在ServletConfig对象中包含了Servlet的初始化参数信息,此外ServletConfig对象还与当前web应用中的ServletContext对象关联,Servlet容器在调用Servlet对象的init(SevletConfig config)方法时会把ServletConfig对象作为一个参数传递给Servlet对象,这个方法是的Servlet和

深入分析JavaWeb Item6 -- servletConfig 与servletContext详解

一.ServletConfig讲解 首先看ServletConfig API文档 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数. 例如: <servlet> <servlet-name>ServletConfigDemo1</servlet-name> <servlet-class>gacl.servlet.study.Servl

JavaWeb:ServletConfig()和ServletContext()

ServletConfig()和ServletContext() 1.ServletConfig() ServletConfig是一个接口,它由服务器提供商来实现. ServletConfig封装了Servlet的配置信息,并且可以获取ServletContext对象. Servlet容器在初始化servlet的时候会初始化一个servletConfig对象,这个对象在任何可访问的客户端都是有效的,但是,需注意的是,该对象只能在本servlet中应用,不能在其他servlet中访问. 主要的方法

深入分析JavaWeb Item6 — servletConfig 与servletContext详

一.ServletConfig讲解首先看ServletConfig API文档 1.1.配置Servlet初始化参数在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数. 例如: <servlet><servlet-name>ServletConfigDemo1</servlet-name><servlet-class>gacl.servlet.study.ServletCo

JavaWeb基础: ServletConfig

基本概念 ServletConfig用于配置Servlet的参数:在Servlet的配置文件中,可以使用一个或者是多个<init-param> 标签为Servlet配置一些初始化参数.当有些Servlet参数需要灵活可配置时,就可以用ServletConfig来实现. 当配置完这些初始化参数后,Tomcat在创建Servlet实例对象时回自动的将这些参数封装到ServletConfig当中,并在调用Servlet的初始化方法时将ServletConfig对象传递给Servlet. 开发人员可以

JavaWeb之Servlet: ServletConfig 与 ServletContext

读取的html路径问题 有这样的一种情况,myeclipse有一个工作区域,我们在上面编写自己的web应用,编写完后,要把这个应用部署在服务器上,然后通过浏览器访问服务器上的那个应用. 假如这个web应用读取了某个html文件,这个html文件我在myeclipse的文件列表直接创建的,创建目录如图: 这个html文件位于WebRoot目录下.然后我们观看一下它的属性里的绝对路径: 可以看到,这个路径是位于我们myeclipse工作区域里的.那么问题来了,当我们的web应用部署到服务器上去了,这

JavaWeb学习总结(二) —— Servlet

一.Servlet概述 1. 什么是Servlet Servlet是JavaWeb的三大组件之一,它属于动态资源.Servlet的作用是处理请求,服务器会把接收到的请求交给Servlet来处理,在Servlet中通常需要: 接收请求数据: 处理请求: 完成响应. 例如客户端发出登录请求,或者输出注册请求,这些请求都应该由Servlet来完成处理!Servlet需要我们自己来编写,每个Servlet必须实现javax.servlet.Servlet接口. 2. 实现Servlet的方式 实现Ser