您的位置:首页 > 产品设计 > UI/UE

request.setAttribute()和request.getSession().setAttribute()解释

2016-12-12 23:35 706 查看
request.setAttribute()只能在一个request内有效,如果重定向客户端,将取不到值。

request.getSession().setAttribute()可以通过sessionID得到自己的session,将参数存储在session中,即使重定向客户端也没事,这个值可以在多个页面上使用。

比如访问一个网站,登录后用户信息被保存到session中,在session过期之前或者用户关闭页面之前,用户信息可以通过request.getSession().getAttribute()方式 获得。

request在当次的请求的URL之间有效,比如,你在请求某个servlet,那么你提交的信息,可以使用request.getAttribute()方式获得,而当你再次跳转之后,这些信息将不存在。

JSP里面的内置对象:

request,response,page,session,application,out,exception,pageContent,config

其中page对象在当前页面是有效的,application在服务器开启之后,一直保持有效状态,直到服务器的关闭。

有必要记录下getParameter()&getAttribute

getParameter()方法传递数据,只会从Web客户端传递到WEB服务器,代表的是HTTP请求数据,getParameter()方法返回的是String类型的数据。

setAttribute()和getAttribute()方法传递的数据只会在WEB服务器内部,在具有转发关系的WEB组件中传递,这两个方法能设置Object类型的数据共享。

说说跳转

request.getRequestDispatcher(“/forwardA”),这种形式的跳转是在服务器内部servlet之间挑战,显示的总是最后一个servlet

response.sendRedirect(“myservlet/query”)是在客户端的url发生改变,相当一次新的请求,所以不能传递数据,但能在不同应用中跳转。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐