jsp中session.getAttriute() 与request.getParameter()的区别、

用的时候很模糊啊
比较一下 说清楚就给分 举例

request.getParameter()是从上一个页面用户提交的数据中取得,
session.getAttribute()在整个会话期间都有效,这样可以方便的多次获得该变量 .request范围较小一些,只是一个请求,简单说就是你在页面上的一个操
作,request.getParameter()就是从上一个页面中的url、form中获取参数,但如果一个request涉及多个类,后面还要取参
数,可以用request.setAttribute()和request.getAttribute(),但是当结果输出之后,request就结束
了。
而session可以跨越很多页面,可以理解是客户端同一个IE窗口发出的多个请求。这之间都可以传递参数,比如很多网站的用户登录都用到了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-03-26
这么简单
request 是一个请求对象 意思是你这一次请求的东西。
他的getParameter()方法 是获得你这一次请求传过来的参数
而session是一个会话的对象 当你开启这一个浏览器窗口开始 就一直存在。关闭之后就销毁
举个简单的例子。。你登陆百度 如果不设置自动登陆的话 你这个浏览器打开登陆进去 之后 点开百度的其他页面 他也显示你登陆了对吧 这个就是session只要这个窗口没关 他能一直记录你的信息。 但是你关了浏览器重新打开 他就又显示你没登陆了。就这个意思。
第2个回答  2014-03-25
session是会话级在任何页面都能取到 request只能对应跳转的页面才能取到

如何在javaservlet和jsp间互传数据
利用HttpSession共享同一个会话的数据。这也要用到session的getAttribute()\/setAttribute()方法,和ServletContext()的使用差不多的。3、利用request共享一次请求的数据 一次请求当中,可以利用request的getAttribute()\/setAttribute()方法在servlet和jsp页面间共享数据。

在JSP页面之间传递字符串数组
reuest.setAttribute( "vvv ",vec);forward 到b.jsp b.jsp :Vector v = (Vector)request.getAttrinute( "vvv ");方法二:你可以把一个数组存到request里面 String[] array = { "2 ", "6 ", "4 "} ;然后 request.setAttribute( "array ",array);forward...

相似回答