Java Web 中往往通过定义属性的方式实现数据共享,共有 :three: 种方式(对象)可实现数据共享,但它们的共享范围不一样。下面总结一下:
@TOC
一、Request
:snowman: Request 只能在同一应用的同一个完整的请求之间进行数据共享
request.setAttribute("name", name)
request.getAttribute("name")
二、Session
:snowman: Session 可在同一应用的多个请求之间进行数据共享
HttpSession httpSession = request.getSession();
httpSession.setAttribute("name" , "杨杨");
String name = (String)httpSession.getAttribute("name");
三、ServletContext
:snowman: 一个 ServletContext 对象代表一个 Web 应用,可通过该对象获取 Web 容器(Tomcat)的信息。
获取 ServletContext:
:star: request.getServletContext()
:star: servlet.getServletContext() 【HttpServlet 是抽象类】常用方法:
:star: getMimeType("Hello.png"):获取文件的 MimeType
:star: getRealPath("/"):获取项目运行目录的路径
:star: setAttribute、getAttribute、removeAttribute 存储共享数据