ServlettContext是一个共有的空间,可以被所有客户访问。
获取ServlettContext:
this.getServletContext();
设置属性:
setAttribute(String name,Object obj);
得到值:
getAttribute(String name);
删除属性:
removeAttribute(String name);
ServletContext生命周期:ServletContext中的属性的生命周期从创建开始,到服务器关闭而结束。
示例:
ServletContextTest1设置ServlettContext
ServletContextTest2获取ServlettContext
package com.tsinghua;
import javax.servlet.http.*;
import javax.servlet.*;
import java.io.*;
public class ServletContextTest1 extends HttpServlet{
public void doGet(HttpServletRequest req,HttpServletResponse res){
try{
res.setContentType("text/html;charset=gbk");
PrintWriter pw=res.getWriter();
ServletContext sc=this.getServletContext();
//添加属性
sc.setAttribute("myInfo","我是顺平");
pw.println("给servlet context中添加一个属性");
}catch(Exception ex){
ex.printStackTrace();
}
}
public void doPost(HttpServletRequest req,HttpServletResponse res){
this.doGet(req,res);
}
}
package com.tsinghua;
import javax.servlet.http.*;
import javax.servlet.*;
import java.io.*;
public class ServletContextTest2 extends HttpServlet{
public void doGet(HttpServletRequest req,HttpServletResponse res){
try{
res.setContentType("text/html;charset=gbk");
PrintWriter pw=res.getWriter();
ServletContext sc=this.getServletContext();
pw.println((String)sc.getAttribute("myInfo"));
}catch(Exception ex){
ex.printStackTrace();
}
}
public void doPost(HttpServletRequest req,HttpServletResponse res){
this.doGet(req,res);
}
}
注:ServletConetext中的数据会长时间的保存在服务器,会占用内存,因此不要添加过大的数据。