request的getAttribute和getParameter

来源:互联网 发布:数据高并发解决方案 编辑:程序博客网 时间:2024/05/03 18:25

getAttribute和getParameter的区别:

   (1)取值不同。getAttribute取到的是对象(object),而getParameter取到的是String。

   (2)数据传递路径不同。request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据;request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。即request.getAttribute()方法返回request范围内存在的对象,而request.getParameter()方法是获取http提交过来的数据。


其他说明:

      request.getAttribute表示从request范围取得设置的属性,必须要先setAttribute设置属性,才能通过getAttribute来取得,设置与取得的为Object对象类型 。
     request.getParameter表示接收参数,参数为页面提交的参数,包括:表单提交的参数、URL重写(就是xxx?id=1中的id)传的参数等,因此这个并没有设置参数的方法(没有setParameter),而且接收参数返回的不是Object,而是String类型。

    setAttribute的参数是String 和 Object ,


1.放的时候:Double res = new Double(result);//包装
request.setAttribute("result", res);//再设置进去
2.取的时候:Double res = (Double)request.getAttribute("result");
double result = res.doubleValue();

另外,需要注意的是使用request.setAttribute时不能使redirect而是forward。即是将请求转发而不是重定向

--------------------------------------------------------------------------------------------------------------------------

一、request.setAttribute不能在页面向action传值,在action中用request.getAttribute取得的值为空。

二、反过来可以,就只在action中request.setAttribute设值,在jsp页面中可以可以request.getAttribute得到。

三、在jsp页面用<input type="text" value="kongdepeng" name="inpu">   然后再action中用request.getParameter可以得到kongdepeng

转自:http://blog.csdn.net/qq799499343/article/details/8472890

http://blog.csdn.net/aaa1117a8w5s6d/article/details/7279932

原创粉丝点击