ServletContext:
web容器在启动的时候,它会为每个web程序都创建一个对应的ServletContext对象,它代表了当前的web应用;
ServletContext作用:共享数据,我在这个Servlet中保存的数据,可以在另外一个servlet中拿到;
如:我在Servlet-dasdaw中存入了一个字符串数据,可以在另一个Servlet中拿到
public class dsadaw extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ServletContext context = this.getServletContext();//创建一个ServletContext对象
String userName = "张三";//数据
context.setAttribute("userName",userName);//将一个数据保存在了
//ServletContext中,名字为:username 。值 username
System.out.println("启动Servlet2");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
在Servlet-GetContext中拿到Servlet-dasdaw中存入的数据
public class GetContext extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ServletContext context = this.getServletContext();
String userName =(String) context.getAttribute("userName");//从ServletContext中获取数据,
// 因为存入的是String类型的数据,所以强制转换一下数据类型
resp.setContentType("text/html");//设置网页识别数据
resp.setCharacterEncoding("utf-8");//设置网页编码格式
resp.getWriter().print("名字" + userName);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}