ServletConfig详解

来源:互联网 发布:淘宝客服如何设置分流 编辑:程序博客网 时间:2024/06/05 14:53

Servlet容器初始化一个servlet对象时,会为这个servlet对象创建一个servletConfig对象。

在servletConfig对象中包含了servlet的初始化参数信息。

此外,servletConfig对象还与servletContext对象关联。

Servlet容器在调用servlet对象的init(ServletConfig  config)方法时,会把servletConfig对象当做参数传递给servlet对象。

Init(ServletConfig  config)方法会使得当前servlet对象与servletConfig对象建立关联关系。


ServletConfig接口中定义了以下方法:  

getInitParameter(String   name):根据给定的初始化参数,返回匹配的初始化参数值。

getInitParameterNames():返回一个Enumeration对象,里面包含了所有的初始化参数。 

getServletContext():返回一个servletContext()对象,  

getServltName():返回servlet的名字,即web.xml中的<servlet-name>的子元素的值。如果没有配置这个子元素,则返回servlet类的名字。


例子: 

 <servlet>     

<servlet-name>actionServlet</servlet-name>    

<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

<load-on-startup>0</load-on-startup>         


<init-param>      

<param-name>color</param-name>     

<param-value>red</param-value>    

</init-param>    

<init-param>      

          <param-name>size</param-name>     

<param-value>16</param-value>    

</init-param>       

    </servlet>    

     <servlet-mapping>     

     <servlet-name>actionServlet</servlet-name>   

     <url-pattern>*.do</url-pattern>   

     </servlet-mapping>  

如上,红色标记处为初始化参数,相当于公有参数。 

在servlet中:   

public class UserDateBaseServlet  extends HttpServlet{  

String color = this.getInitParameter("color");  

String size = this.getInitParameter("size");   

        System.out.println("颜色是:"+color+"字号是:"+size); 

 }  


注:HttpServlt类继承了GenericServlet类,而GenericServlet类实现了ServletConfig接口,因此在HttpServlet类和GenericServlet类及子类中都可以直接调用ServletConfig接口中的方法。

原创粉丝点击