目录
1.4 ServletContext获取文件的真实(服务器)路径
1 ServletContext对象
ServletContext概念:代表整个web应用,可以和程序的容器(服务器)来通信
1.1 ServletContext对象获取
获取ServletContext对象有两种方式:
- 通过request对象获取 request.getServletContext();
- 通过HttpServlet获取 this.getServletContext();
@WebServlet("/servletContextDemo1")
public class ServletContextDemo1 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//1 通过request对象获取
ServletContext servletContext = req.getServletContext();
//2 通过HttpServlet对象回去
ServletContext servletContext1 = this.getServletContext();
System.out.println(servletContext);
System.out.println(servletContext1);
System.out.println(servletContext==servletContext1);//true
}
}
1.2 ServletContext获取MIME类型
MIME类型:在互联网通信过程中定义的一种文件数据类型 * 格式: 大类型/小类型 如:text/html image/jpeg
获取方法 :String getMimeType(String file)
@WebServlet("/servletContextDemo2")
public class ServletContextDemo2 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ServletContext context = this.getServletContext();
String fileName="a.jpg";
String mimeType = context.getMimeType(fileName);
System.out.println(mimeType);//结果:image/jpeg
}
}
1.3 ServletContext共享数据
ServletContext对象范围 | 所有用户所有请求的数据 |
ServletContext共享数据方法 | 1. setAttribute(String name,Object value) 2. getAttribute(String name) 3. |