JSP中request.getParameter()和session.getAttribute()区别

request.get是从上一个页面用户提交的数据中取得,

而session存在范围是用户这一次看你的网站。比如用,用户需要密码才能访问你的网站,用户初次登录时,你可以把变量设到SESSION里,以后只要检查SESSION里的变量就可以知道用户是否已经在登录状态。

request.getParameter()

request 是请求,即把需要的参数得到,一般是从上一个页面用户提交的数据中得到

session.getAttribute()

session 是用来保持会话的连接,说明见楼上

1,request.getParameter() 得到客户端数据

2,session.getAttribute() 存入变量以便让更多页面可以得到该变量,通过设置存在时间,可以用在是否在线,是否已登录等场合

request.getParameter()是从上一个页面用户提交的数据中取得,

session.getAttribute()在整个会话期间都有效,这样可以方便的多次获得该变量

request.getParameter()上一个页面提交的。

比如 form 里的 或者市 url 里的。

session.getAttribute()是在用户的整个会话期有效。

这个问题主要是request和session的差别,request范围较小一些,只是一个请求,简单说就是你在页面上的一个操作,request.getParameter()就是从上一个页面中的url、form中获取参数,但如果一个request涉及多个类,后面还要取参数,可以用request.setAttribute()和request.getAttribute(),但是当结果输出之后,request就结束了。

而session可以跨越很多页面,可以理解是客户端同一个IE窗口发出的多个请求。这之间都可以传递参数,比如很多网站的用户登录都用到了。

session.setArribute( "choice ",value);中的value没有定义,一般session不这么用,session是用来保存客户提交的信息的,通常一个页面用来给客户提交信息,也就你写的choise.jsp;客户再把信息提交给session页面,我们记为session.jsp;这个页面中就要用到session.setArribute( "choice ",value);问题来了,其中的value是一个变量,是一个java变量,它的值是怎么获得的呢?这就要通过你在choise里面定义的表单form来获得了,用request对象获得赋值给value,然后在通过session.setArribute( "choice ",value);最后就是你的show.jsp页面了这个时候用session.getAttribrute( "choice ");   就可以获得刚刚set的值。 说的不好,见谅~~~ 

session.getAttributeNames

得到当前用户针对当前一个网站的会话中所有可用属性名的枚举