package com.xxxx.servlet;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* 每一个web应用仅有一个ServletContext对象 与应用程序相关
* 为域对象共享数据,在整个应用程序中共享
* 保存当前应用相关信息
*/
@WebServlet("/sc1")
public class ServletContex1 extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//通过request获取
ServletContext sc=req.getServletContext();
//通过session获取
ServletContext sc2=req.getSession().getServletContext();
//直接获取
ServletContext sc3=getServletContext();
/**
* 常用方法
*/
//获取服务器版本信息
String serverInfo=req.getServletContext().getServerInfo();
System.out.println(serverInfo);
//获取项目真实路径
String realPath=req.getServletContext().getRealPath("/sc1");
System.out.println(realPath);
/**
* ServletContext域对象
* 可以放数据 不能太多
* 不删除会一直存在
*/
//设置域对象
sc.setAttribute("name","lwx");
//获取域对象
String name=(String) sc.getAttribute("name");
//移除域对象
sc.removeAttribute("name");
}
}