作为jsp的九大内置对象的三种,servletContext属于一个web应用的全局范围,session则用于保存客户端和服务器端交互的。一个web应用只有一个servletContext,存放的是全局信息,所有的servlet共享同一个servletContext对象。下面是它同session和cookie的比较
1.servletContext
//获取servletContext对象
ServletContext sc = this.getServletContext();
//添加属性,也就是存放共享数据
sc.setAttribute("uname","张三");//写法为sc.setAttribute(String name,Object obj)
//获取属性,也就是获取共享的数据
sc.getAttribute("uname");//返回的是Object,写法为getAttribute(String)
//删除属性
removeAttribute("uname");//为removeAttribute(String name),注意,删除的是属性,而不是对象
2.session
request//客户端向服务端发送的信息
response//服务器端向客户端相应的信息
HttpSession hs = request.getSession(true);//获取与req相关联的session,如果没有就创建新的
hs.setAttribute("name","李四");//向session中添加属性
hs.removeAttribute("name");//删除session相应的属性
3.cookie
Cookie ck = new Cookie("uname","王五");//在服务器端创建cookie,但cookie信息在客户端保留
response.addCookie(ck);//将该cookie传递到客户端
若想获取request,可用类似下边的方法
SamrtUpload su = new SmartLoad();
Request req = su.getRequest();