ServletContext对象
概念:代表整个web应用,可以和程序的容器(服务器)来通信
获取:
1.通过request对象获取 request.getServletContext()
2.通过HttpServlet类 获取 this.getServletContext();
两种方式完全一样
功能:
1.获取MIME类型:在互联网通信过程中定义的一种文件数据类型
格式: 大类型/小类型 text/html image/jpeg
获取:String getMimeType(String file)
2.域对象:共享数据
servletContext.setAttribute(String name, Object value);
servletContext.getAttribute(String name)
removeAttribute(String name)
servletContext对象范围:所有用户所有请求的数据(最大范围)
3.获取文件的真实路径(服务器路径)
方法:String getRealPath(String path)
文件下载需求:
1.页面显示超链接
2.点击超链接后弹出下载提示框
3.完成图片文件下载
分析:超链接指向的资源如果能够被浏览器解析,则会在浏览器中知己诶展示,如果不能解析,则弹出下载提示框。
不满足需求,我们的需求是任何资源都必须弹出下载提示框
使用响应头设置资源的打开方式
步骤:
1.定义页面,编辑超链接href属性,指向Servlet,传递资源名称filename
2.定义Servlet
获取文件名称
使用字节输入流加载文件进内存
指定response 的响应头: content-disposition:attachment;filename=xxx
将数据写到response输出流