getServletConfig() 与getServletContext() 的区别 .

getServletConfig() 
   
    在servlet初始化时,容器传递进来一个ServletConfig对象并保存在servlet实例中,该对象允许访问两项内容:初始化参数和
 
ServletContext对象,前者通常由容器在文件中指定,
 
允许在运行时向sevrlet传递有关调度信息,比如说getServletConfig().getInitParameter("debug")后者为servlet提供有关容器的信息。
 
此方法可以让servlet在任何时候获得该对象及配置信息。 
 

 

getServletContext() 
 

   一个servlet可以使用getServletContext()方法得到web应用的servletContext 
    即而使用getServletContext的一些方法来获得一些值 
    比如说getServletContext().getRealPath("/")来获得系统绝对路径 
               getServletContext().getResource("WEB-INF/config.xml")来获得xml文件的内容
 
 
 
 
 
getServletContext()取得的是 <context-param>配置的参数
               getServletConfig()取得的是 <servlet> <init-param>配置的参数

           2: getServletContext()应用于整个web App,而getServletConfig()仅应用于当前Servlet。 但是ServletConfig对象拥有ServletContext的引用。所以可以通过getServletConfig()来获得web App的
 初始值。

 

====================================================================================================

代码块:   

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
...
<context-param>
<param-name>P1 </param-name>
<param-value>This Is web-app Value </param-value> </context-param>
...
<servlet>
<servlet-name>HelloServlet </servlet-name>
<servlet-class>suman.Servlet.HelloServlet </servlet-class>
<init-param>
<param-name>P1 </param-name>
<param-value>This is the servlet value </param-value> </init-param>
</servlet>

...
</web-app>

==============================
public class HelloServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

...
String s1 = getServletConfig().getInitParameter("P1");
String s2 = getServletContext().getInitParameter("P1");
String s3 = getServletConfig().getServletContext().getInitParameter("P1");
String s4 = getInitParameter("P1");

out.println("SumanChina_DoGet");
out.println(" <br>");
out.println("s1:"+s1+" <br>");
out.println("s2:"+s2+" <br>");
out.println("s3:"+s3+" <br>");
out.println("s4:"+s4);
...
}
}

输出结果:

             s1:This is the servlet value
          s2:This Is web-app Value
           s3:This Is web-app Value
            s4:This is the servlet value

分析:

          1:getServletContext()取得的是 <context-param>配置的参数
               getServletConfig()取得的是 <servlet> <init-param>配置的参数

           2: getServletContext()应用于整个web App,而getServletConfig()仅应用于当前Servlet。 但是ServletConfig对象拥有ServletContext的引用。所以可以通过getServletConfig()来获得web App的
初始值。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值