当前位置: 技术问答>java相关
JSP中request的getAttribute,setAttribute方法和session的getAttribute,setAttribute方法有什么不同吗?
来源: 互联网 发布时间:2015-04-17
本文导语: 完全一样? 作用域不同? 请哪位高人给小弟讲解一下。。。 | 简单一点就是作用域不同, 上述诸位说得很对, 但是具体的解释却 不是很正确. 比如 java/servlet 中有四种内嵌对象, 代表四种 ...
完全一样?
作用域不同?
请哪位高人给小弟讲解一下。。。
作用域不同?
请哪位高人给小弟讲解一下。。。
|
简单一点就是作用域不同, 上述诸位说得很对, 但是具体的解释却
不是很正确. 比如 java/servlet 中有四种内嵌对象, 代表四种
作用域, 从小到大依次是 Page, Request, Session, Application.
其他的好说, 难以区别的是 Page 和 Request, 一次 Request 可以引起多个 Page. 举个例子来说, 常用的 forward, sendRedirect 会引起多个 Page,
但是只是一次请求.
不是很正确. 比如 java/servlet 中有四种内嵌对象, 代表四种
作用域, 从小到大依次是 Page, Request, Session, Application.
其他的好说, 难以区别的是 Page 和 Request, 一次 Request 可以引起多个 Page. 举个例子来说, 常用的 forward, sendRedirect 会引起多个 Page,
但是只是一次请求.
|
作用域不同,request的话一般在servlet中使用
request.setAttribute(String,Object);
getServletContext().getRequestDispatcher("xxx.jsp").forward(request,response);
的方法,使得xxx.jsp可以使用getAttribute获得传入的Object。
session则是保持在Server的内存中的,只要不过期会一直存在,任何时候都可以使用。
request.setAttribute(String,Object);
getServletContext().getRequestDispatcher("xxx.jsp").forward(request,response);
的方法,使得xxx.jsp可以使用getAttribute获得传入的Object。
session则是保持在Server的内存中的,只要不过期会一直存在,任何时候都可以使用。
|
作用域不同:
1、request对象的作用域是其请求所指向的网页,如a.jsp网页所请求的网页是next.jsp,那么request对象所存储的变量就只能由a.jsp传向next.jsp网页,而不能实现多个网页之间的状态传递,注意请求网页页可以是Servlet程序
2、session对象所存储的变量可以在一次会话过程中传递,如登录电子商务网站,购物车的状态就是存储在session对象中的
1、request对象的作用域是其请求所指向的网页,如a.jsp网页所请求的网页是next.jsp,那么request对象所存储的变量就只能由a.jsp传向next.jsp网页,而不能实现多个网页之间的状态传递,注意请求网页页可以是Servlet程序
2、session对象所存储的变量可以在一次会话过程中传递,如登录电子商务网站,购物车的状态就是存储在session对象中的