您的位置:首页 > 编程语言 > PHP开发

getServletContext和getServletConfig中getInitParameter的区别

2010-07-27 10:09 459 查看
代码块:   

<?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的初始值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息