JSP 中request中getParameter与getAttribute区别


JSP 中request中getParameter与getAttribute区别

文章插图
JSP 中request中getParameter与getAttribute区别

文章插图

request.getParameter("companyName");是获得表单(前台页面表单中名称为companyName)提交的数据
request.getAttribute("cc")是获得你setAttribute的数据(获得是你自己存起来的参数cc的值 。)
在超链接里带的参数用 。。request.getParameter(参数名)
HttpServletRequest类既有getAttribute()方法 , 也由getParameter()方法 , 这两个方法有以下区别:
(1)HttpServletRequest类有setAttribute()方法 , 而没有setParameter()方法
(2)当两个Web组件之间为链接关系时 , 被链接的组件通过getParameter()方法来获得请求参数 , 例如假定welcome.jsp和authenticate.jsp之间为链接关系 , welcome.jsp中有以下代码:
authenticate.jsp
或者:

请输入用户姓名:


在authenticate.jsp中通过request.getParameter("username")方法来获得请求参数username:
(3)当两个Web组件之间为转发关系时 , 转发目标组件通过getAttribute()方法来和转发源组件共享request范围内的数据 。假定authenticate.jsp和hello.jsp之间为转发关系 。authenticate.jsp希望向hello.jsp传递当前的用户名字 , 如何传递这一数据呢?先在authenticate.jsp中调用setAttribute()方法:

在hello.jsp中通过getAttribute()方法获得用户名字:

Hello:
从更深的层次考虑 , request.getParameter()方法传递的数据 , 会从Web客户端传到Web服务器端 , 代表HTTP请求数据 。request.getParameter()方法返回String类型的数据 。
request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部 , 在具有转发关系的Web组件之间共享 。这两个方法能够设置Object类型的共享数据
【JSP 中request中getParameter与getAttribute区别】简单来讲request.getParamenter()方法使用的是HTTP协议来传递数据 , 只能传递String类型的信息 , 而request.setAttribtute()方法传递数据是在WEB容器中传递 , 可以转发任意类型的对象信息 , 比如一个listAction的servlet想传给list.jsp一个LIST集合 , 则必须使用setAttribute




    推荐阅读