request.getParameter() VS getAttribute()
2011-09-02 16:46
399 查看
(1)request.getParameter()取得是通过容器的实现来取得通过类似post,get等方式传入的数据,request.setAttribute()和getAttribute()只是在web容器内部流转,仅仅是请求处理阶段。
(2)request.getParameter()方法传递的数据,会从Web客户端==》Web服务器端,代表HTTP请求数据。request.getParameter()方法返回String类型的数据。
request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部
还有一点就是,HttpServletRequest类有setAttribute()方法,而没有setParameter()方法。
拿一个例子来说一下吧,假如两个WEB页面间为链接关系时,就是说要从1.jsp链接到2.jsp时,被链接的是2.jsp可以通过getParameter()方法来获得请求参数.
假如1.jsp里有
<form name="form1" method="post" action="2.jsp">
请输入用户姓名:<input type="text" name="username">
<input type="submit" name="Submit" value="提交">
</form>的话在2.jsp中通过request.getParameter("username")方法来获得请求参数username:
<% String username=request.getParameter("username"); %>
************************************************************
但是如果两个WEB间为转发关系时,转发目的WEB可以用getAttribute()方法来和转发源WEB共享request范围内的数据,也还是说一个例子吧。
有1.jsp和2.jsp
1.jsp希望向2.jsp传递当前的用户名字,如何传递这一数据呢?先在1.jsp中调用如下setAttribute()方法:
<%
String username=request.getParameter("username");
request.setAttribute("username",username);
%>
<jsp:forward page="2.jsp" />
在2.jsp中通过getAttribute()方法获得用户名字:
<% String username=(String)request.getAttribute("username"); %>
==========================老外的解析==================================
Object myDispatchedObject = request.getAttribute("person");//contain one object
String gender = request.getParameter("gender");// one of the Object filed.
detail:
[ The difference between getAttribute and getParameter is that getParameter will return the value of a parameter that was submitted by an HTML form or that was included in a query string. getAttribute returns an object that you
have set in the request, the only way you can use this is in conjunction with a RequestDispatcher. You use a RequestDispatcher to forward a request to another resource (JSP / Servlet). So before you forward the request you can set an attribute which will be
available to the next resource.
I had a look at the API docs for session.getAttribute() and getValue() and saw that getValue is deprecated and getAttribute should be used in its place, so rather use getAttribute. Although it seems like they achieve the same
result. I personally have never used getValue. ]
(2)request.getParameter()方法传递的数据,会从Web客户端==》Web服务器端,代表HTTP请求数据。request.getParameter()方法返回String类型的数据。
request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部
还有一点就是,HttpServletRequest类有setAttribute()方法,而没有setParameter()方法。
拿一个例子来说一下吧,假如两个WEB页面间为链接关系时,就是说要从1.jsp链接到2.jsp时,被链接的是2.jsp可以通过getParameter()方法来获得请求参数.
假如1.jsp里有
<form name="form1" method="post" action="2.jsp">
请输入用户姓名:<input type="text" name="username">
<input type="submit" name="Submit" value="提交">
</form>的话在2.jsp中通过request.getParameter("username")方法来获得请求参数username:
<% String username=request.getParameter("username"); %>
************************************************************
但是如果两个WEB间为转发关系时,转发目的WEB可以用getAttribute()方法来和转发源WEB共享request范围内的数据,也还是说一个例子吧。
有1.jsp和2.jsp
1.jsp希望向2.jsp传递当前的用户名字,如何传递这一数据呢?先在1.jsp中调用如下setAttribute()方法:
<%
String username=request.getParameter("username");
request.setAttribute("username",username);
%>
<jsp:forward page="2.jsp" />
在2.jsp中通过getAttribute()方法获得用户名字:
<% String username=(String)request.getAttribute("username"); %>
==========================老外的解析==================================
Object myDispatchedObject = request.getAttribute("person");//contain one object
String gender = request.getParameter("gender");// one of the Object filed.
detail:
[ The difference between getAttribute and getParameter is that getParameter will return the value of a parameter that was submitted by an HTML form or that was included in a query string. getAttribute returns an object that you
have set in the request, the only way you can use this is in conjunction with a RequestDispatcher. You use a RequestDispatcher to forward a request to another resource (JSP / Servlet). So before you forward the request you can set an attribute which will be
available to the next resource.
I had a look at the API docs for session.getAttribute() and getValue() and saw that getValue is deprecated and getAttribute should be used in its place, so rather use getAttribute. Although it seems like they achieve the same
result. I personally have never used getValue. ]
相关文章推荐
- JSP中request.getParameter()和session.getAttribute()的区别
- request.getAttribute() 和 request.getParameter() 有何区别?
- request.getParameter() 和request.getAttribute() 区别
- request.getParameter() 和request.getAttribute() 区别
- request.getParameter()和request.getAttribute()的区别
- Servlet request.getParameter()与request.getAttribute()
- request.getAttribute()和 request.getParameter()有何区别?
- request.getParameter() 和request.getAttribute() 有什么区别?
- request.getParameter() 和request.getAttribute() 区别
- request.getAttribute() 和 request.getParameter() 有何区别?
- request.getAttribute和request.getParameter的区别
- request.getParameter() 和request.getAttribute() 区别
- request.getParameter() 和request.getAttribute() 区别
- request.getParameter() request.getAttribute()区别
- request.getParameter()和request.getAttribute()返回值类型
- Java基础——request.getAttribute() 和 request.getParameter() 有何区别
- 【java】request.getParameter 和 request.getAttribute 的功能作用详解.
- request.getParameter()和request.getAttribute()的区别
- HttpServletRequest类既有getAttribute()方法,也有getParameter()方法,有setAttribute()方法,而没有setParameter()方法
- request.getParameter() 和request.getAttribute() 区别