1.概念
代表整个web应用,可以和程序的容器(服务器)来通信
2.获取
ServletContext context1 = request.getServletContext();
ServletContext context2 = this.getServletContext();
3.功能
3.1.获取MIME类型
String fileName="a.jpg";
String mimeType = context.getMimeType(fileName);
System.out.println(mimeType);
3.2.域对象:共享数据
1.setAttribute(String key,Object value);
2.getAttribute(String key);
3.removeAttribute(String key);
3.3.获取文件的真实路径(服务器路径)
ServletContext context = this.getServletContext();
String str = context.getRealPath(/a.txt);
File file = new File(str);
文件下载案例
String filename = request.getParameter("filename");
ServletContext servletContext = this.getServletContext();
String realpath = servletContext.getRealPath("/image/"+filename);
FileInputStream fis = new FileInputStream(realpath);
String mimeType = servletContext.getMimeType(filename);
response.setHeader("content-disposition","attachement;filename="+filename);
ServletOutputStream sos = response.getOutputStream();
byte[] buff = new byte[1024*8];
int len = 0;
while((len=fis.read(buff))!=-1){
sos.write(buff,0,len);
}
fis.close();
不同浏览器下载文件中文名称问题