0
点赞
收藏
分享

微信扫一扫

Servlet三大作用域:Request、Session、Application


Request作用域

当请求从一个action转发到一个jsp的时候,如果jsp中要使用action类中的变量,那么我们需要将action中的变量放入到request作用域中传给jsp。那么jsp中就可以通过request作用域获取到该变量。

例如:登陆成功后需要在成功页面显示人员信息。

Request对象类似于一个map集合。放数据的时候,放入键值对,取数据时通过键取值。

request.setAttribute(key,value);//往request作用域里面放入数据。

request.getAttribute(key);//从requtest作用域里面获取数据。

所有的作用域都有上面的两个方法。

Request作用域的特点:

放数据的servlet和取数据的servlet必须保证使用的是同一个request对象。一旦request对象改变了,那么,request作用域里面的值就会失效。

session作用域

session.setAttribute(key,value);//到session作用域放数据

session.getAttribute(key);//从session作用域获取数据

session.removeAttibute(key);//从session作用域里面移除数据。

Application作用域:ServletContext

ServletContext的总结:

1.ServletContxt就是对web.xml文件的封装。

2.一个项目中只有一个web.xml文件。

3.ServletContext对象在一个项目中只有一个。

ServletContext作用域:

sc.setAttribute(key,value);把变量放入作用域

sc.getAttribute(key);从作用域里面获取变量

sc.removeAttribute(key);从作用域里面移除对象。

三大作用域的比较

request,session,application(ServletContext)

Request作用域的范围最小,对应一次请求。

Session作用域的范围要大一些。对应一次会话。只要浏览器不关就是一个session。

**Application作用域的范围最大。对应一个应用程序。**不管有多少个浏览器,只要访问的是同一个项目,那么他们对应的就是一个application对象。

Application对象跟一个项目相关,他会在tomcat启动的时候被创建,tomcat关闭的时候被销毁。



举报

相关推荐

0 条评论