request.getParameter()和request.getAttribute()的区别

 request.getParameter
是用来接受来自get方法或post方法的参数
<form method=post>
<form method=get>
<a href="1.jsp?id=1">ok</a>
只能接受java.lang.String
也就是说String hotel_id = request.getParameter("hotel_id");
request.getAttribute
是用来接受来自servlet的变量或Action(其实Action就是特殊的Servlet)
在Action中,request.setAttribute("ret",ret);
只能接受java.lang.Object
也就是说List ret = (List)request.getAttribute("ret");

 

请问request.getAttribute()什么时候用?  
   
  1.在第一个页面的form表单中action到第二个页面中可以get到前一页的值吗?  
   
  2.在第一个jsp页面中用了<jsp:forward   page="……"/>,转到指定页面后可以get到前一页的值吗?  
   
   
  3.在第一个页面中用response.sendRedirect("……"),转道指定页面后可以get到前一页的值吗?


你可以在前一页使用  
  request.setAttribute(name,value);  
  然后再转页使用  
  request.getAttribute(name);  
   
  你说的3种情形,1可以直接get,  
  2、3转页转页路径像:“xxxx.jsp?req=xxx”这样的可以直接get到req,否则要set后再get。 

 

request   的生存周期是:Client发出请求后,Server在发出响应前。  
  对于第3个问题:response.sendRedirect("……"),页面重定向后,request已被释放,所以不能再得到Client请求中发送的数据。  
   
  第2个问题:可以。  
   
  这两个问题的不同之处在于:2是对Client请求进行'重定向'。3是对Server响应进行重定向。  
   
  request.getAttribute()   --   对Client请求进行'重定向'时使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值