1.获取ServletContext的对象
//servletcontext 全局容器对象
ServletContext sc = getServletContext();
//获取servletcontext级别的全局参数
String name = (String) sc.getInitParameter("contextname");
System.out.println(name);
在XML中预定义的值:
<context-param>
<param-name>contextname</param-name>
<param-value>contextvalue</param-value>
</context-param>
--------------------------------------------------------------------------------------------------------
设置ServletContext的全局变量:
设计一个统计网页访问次数的小程序:
package cm.wgg.servlwt;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Setletdemo extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//servletcontext 全局容器对象
ServletContext sc = getServletContext();
//获得全局属性值
Integer pvcount = (Integer) sc.getAttribute("pvcount");
//如果不等于0就给他加一
if(pvcount == null){
//如果是0就赋值1
sc.setAttribute("pvcount", 1);
}else{
//如果不是就给他赋值
//必须是++pvcount 不能是pvcount++???为什么?我也不知道啊
sc.setAttribute("pvcount", ++pvcount);
}
String b = " pv: " + pvcount;
resp.getOutputStream().write(b.getBytes());
}
}
这样的程序做两个 在浏览器中同时访问两个不同的程序 因为他们属于同一个servletContext 所以他们的访问次数会有数量关系;