3.ServletConfig接口
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3.ServletConfig接口相关的知识,希望对你有一定的参考价值。
ServletConfig接口
见文生义 那么它就是 Serblet的配置啊,它呢是整个XML的信息类,他已经自动集成好了,放在inie这个方法里面当参数了:
在 Servlet 接口的 init()方法中有一个参数 ServletConfig,这个参数类型是个接口,里面是一些 在 web.xml 中对当前 Servlet类的配置信息。Servlet 规范将Servlet 的配置信息全部封装到了 ServletConfig 接口对象中。在tomcat调用 init()方法时,首先会将 web.xml 中当前 Servlet 类的配置信息封装为一个对象。这个对象的类型实现了 ServletConfig 接口, Web 容器会将这个对象传递给init()方法中的 ServletConfig 参数。
所谓的web容器就是tomcat服务器啊!
那么我们可以点击去看看他的源码 ,ServletConfig接口有几个接口方法:
public String getServletName();
public ServletContext getServletContext();
public String getInitParameter(String name);
public Enumeration<String> getInitParameterNames();
讲解之前先了解一个xml中类似 key - value 的标签:
<init-param></init-param>
它可以包含<param-name> 和 <param-value> 标签 相当于 KEY 和 VALUE 一 一对应的 但是呢! 注意的是 一对<init-param> 只能包含 一个 name 和 value !(下面有范例)
这里详细注解一下:
- getInitParameter(): 获取指定名称的初始化参数值。例如从下面的servlet中调用 getInitParameter("userName");方法会返回字符串"xxxx"。
- getInitParameterNames():获取当前 Servlet 所有的初始化参数名称。其返回值为枚举类型 Enumeration。
- getServletName():获取当前 Servlet 的中指定的 Servlet名称。如下面中的 ServletName 为"configServlet"。
- getServletContext():获取到当前 Servlet 的上下文对象 ServletContext,这是个非常重要的对象。
下面例子讲解详细:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>s1</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>name</servlet-name> <servlet-class>s1.s1</servlet-class> <!-- 一对 init-param 只能包含一对 键 - 值啊! --> <init-param> <param-name>name</param-name> <param-value>bihu</param-value> </init-param> <init-param> <param-name>age</param-name> <param-value>18</param-value> </init-param> <init-param> <param-name>sex</param-name> <param-value>1</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>name</servlet-name> <url-pattern>/s1</url-pattern> </servlet-mapping> <!-- ********************s1和s2分割线************************************ --> <servlet> <servlet-name>name1</servlet-name> <servlet-class>s2.s2</servlet-class> <!-- 我也来一个初始化参数 name - bihu_s2 --> <init-param> <param-name>name</param-name> <param-value>bihu_s2</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>name1</servlet-name> <url-pattern>/s2</url-pattern> </servlet-mapping> </web-app>
上面中 s1 有 三个初始化参数 分别是 : name 、age 、 sex ,s2有一个: name。
那么我们如何获取:
以上是关于3.ServletConfig接口的主要内容,如果未能解决你的问题,请参考以下文章