Java Web 域对象
域对象主要用在web应用中,可以存储数据,并且作用于一定范围。
一、域对象
所谓域对象,即拥有作用域的对象,可以在范围内共享数据。
二、数据共享的方法
方法 | 说明 |
---|---|
void setAttribute(String name, Object obj) | 存储数据 |
Object getAttribute(String name) | 通过键获取值 |
void removeAttribute(String name) | 通过键移除键值对 |
三、ServletContext 域
1. 说明
ServletContext,代表整个 Web 应用
ServletContext 的作用域是整个 Web 应用
ServletContext 随 Web 应用的启动而创建,随 Web 应用的关闭而销毁
ServletContext 中包含着 Web 应用的配置信息,还包含着应用中所有 Servlet 可以共享的数据
ServletContext 可以共享所有用户、所有请求的数据
2. 获取
方式 1:
通过 request 对象获取
1 |
|
方式 2:
通过 HttpServlet 获取
1 |
|
需要注意的是,两种方式获取的是同一个 ServletContext 域,因此用哪一种方式都可以。
3. 其它方法
(1) 获取 MIME 类型
方法 | 说明 |
---|---|
getMimeType(String filename) | 根据文件名获取 MIME 类型 |
常见的MIME类型:
- 超文本标记语言文本 .html,.html text/html
- 普通文本 .txt text/plain
- RTF文本 .rtf application/rtf
- GIF图形 .gif image/gif
- JPEG图形 .jpeg,.jpg image/jpeg
- au声音文件 .au audio/basic
- MIDI音乐文件 mid,.midi audio/midi,audio/x-midi
- RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio
- MPEG文件 .mpg,.mpeg video/mpeg
- AVI文件 .avi video/x-msvideo
- GZIP文件 .gz application/x-gzip
- TAR文件 .tar application/x-tar
(2) 获取文件真实路径
获取文件在硬盘中的路径
需要注意的是:
此处的路径并不是开发环境中的路径,而是部署环境中的路径
不是 Java 项目的路径,而是 Java 项目部署到 Tomcat 中后的路径
webPath 应该填入 web 路径
\项目路径\ ···
返回文件在硬盘中的真实路径
··· \Tomcat\webapps\项目路径\ ···
方法 | 说明 |
---|---|
String getRealPath(String webPath) | 获取文件的真实路径 |
四、Session 域
五、Request 域
Request,即请求,其作用域是当前请求,一般用于在请求转发的多个资源之间共享数据。