1.getAttribute是取得jsp中 用setAttribute設定的attribute
2.parameter得到的是string;attribute得到的是object
3.request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据;request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。即request.getAttribute()方法返回request范围内存在的对象,而request.getParameter()方法是获取http提交过来的数据。
JSP中getParameter与getAttribute有何区别?
——说实话,这个问题当初我也困惑很久,我也知道怎么用,可是到底有什么区别,我也不是很清楚,后来找了很多资料才明白。昨天又有一位朋友问我这个问题,想我当初同样也困惑过,于是我就把这个问题贴出来,让同样困惑的朋友解惑。
——getParameter得到的都是String类型的。或者是http://a.jsp?id=123中的123,或者是某个表单提交过去的数据。
——getAttribute则可以是对象。
——getParameter()是获取POST/GET传递的参数值;
——getAttribute()是获取对象容器中的数据值;
——getParameter:用于客户端重定向时,即点击了链接或提交按扭时传值用,即用于在用表单或url重定向传值时接收数据用。
——getAttribute:用于服务器端重定向时,即在sevlet中使用了forward函数,或struts中使用了mapping.findForward。getAttribute只能收到程序用setAttribute传过来的值。
——getParameter()是获取POST/GET传递的参数值;
——getAttribute()是获取SESSION的值;
另外,可以用setAttribute,getAttribute发送接收对象.而getParameter显然只能传字符串。
setAttribute 是应用服务器把这个对象放在该页面所对应的一块内存中去,当你的页面服务器重定向到另一个页面时,应用服务器会把这块内存拷贝另一个页面所对应的内存中。这样getAttribute就能取得你所设下的值,当然这种方法可以传对象。session也一样,只是对象在内存中的生命周期不一样而已。
getParameter只是应用服务器在分析你送上来的request页面的文本时,取得你设在表单或url重定向时的值。
getParameter 返回的是String, 用于读取提交的表单中的值;
getAttribute 返回的是Object,需进行转换,可用setAttribute设置成任意对象,使用很灵活,可随时用;
-----------------------
1, request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据。request.getParameter()方法返回String类型的数据。
- request.getParameter()取得是通过容器的实现来取得通过类似post,get等方式传入的数据
- getParameter返回String
2, request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。这两个方法能够设置Object类型的共享数据。
- request.setAttribute()和getAttribute()只是在web容器内部流转,仅仅是请求处理阶段。
- getAttribute是返回对象
总的来说:request.getAttribute()方法返回request范围内存在的对象,而request.getParameter()方法是获取http提交过来的数据。
分享到:
相关推荐
1. **数据来源不同**:`request.getParameter()`获取的是来自客户端的数据,而`request.setAttribute()`和`request.getAttribute()`是在服务器端操作,用于在请求范围中存储和获取数据。 2. **作用范围不同**:`...
request.getParameter() 和 request.getAttribute() 是两个最常用的方法来获取客户端的请求信息,但是它们的用法和作用域却有很大的区别。 request.getParameter() 方法是用来获取客户端通过 HTTP 协议传递的参数,...
... ... ... import javax.servlet.RequestDispatcher;...import javax.servlet.ServletContext;... response.sendRedirect("../admin/success.jsp"); }else{ //失败跳转回登录页面 //out.println("登录失败"); ...
在Java Servlet和JSP开发中,`HttpServletRequest`接口提供了两种主要的方法来获取客户端发送到服务器的数据:`getAttribute()`和`getParameter()`。它们虽然都用于获取请求中的数据,但有着本质的区别,下面将详细...
### `request.getParameter()` 和 `session.getAttribute()` 的区别 #### 1. **作用范围** - **`request.getParameter()`**:此方法用于从当前 HTTP 请求中获取参数的值。这些参数通常来源于 HTML 表单或 URL 查询...
在本篇文章中,我们将深入探讨`request.getParameter()`和`request.setAttribute()`以及`request.getAttribute()`的区别,并提供相关示例来帮助理解它们的用法。 **一、request.getParameter() 和 request....
UserAccessToken token = (UserAccessToken) request.getSession().getAttribute("UserAccessToken"); if(null==token){ token = util.getAccessToken3(Constants.APPID, Constants.SECRET,code); ...
- 验证成功后,可以在 `request.setAttribute("user", user)` 中设置已登录用户的对象,然后通过转发到下一个页面,在该页面中通过 `request.getAttribute("user")` 获取已登录用户的对象。 #### 6. 总结 - `...
request.getSession().setAttribute("shoppingCart", SC); // System.out.println("SESSION===================>"+request.getSession().getAttribute("shoppingCart")); request.getRequestDispatcher(...
String url = request.getParameter("url"); URLEncoder.encode(URLDecoder.decode(url,"iso-8859-1"), "iso-8859-1"); session.setAttribute("redirectUrl",url); } else{ session.setAttribute(...
request.setAttribute("attributeName", data); ``` 接下来,转向JSP页面。JSP是用于生成动态HTML的Java技术。在JSP中,我们可以使用EL(Expression Language)或JSTL(JavaServer Pages Standard Tag Library)来...
综上所述,`getParameter()` 适用于获取客户端提交的数据,而 `setAttribute()` 和 `getAttribute()` 更适合在服务器端组件之间传递数据。理解这些方法的工作原理对于有效地进行Web开发至关重要。
通过这种方式和一般的表单参数一样的,也可以通过request.getParameter(name)取得参数。 3. 设置session和request实现参数传递 可以通过显示的把参数放置到session和request中,以达到传递参数的目的: session....
`getAttribute` 方法主要用于从当前的请求(request)对象中获取一个属性的值。这些属性通常是在请求处理过程中由其他部分代码设置的,例如通过 `setAttribute` 方法设置。这使得开发者可以在不同的组件(如Servlet...
在JSP页面中获取这些参数可以使用 `request.getParameter()` 方法: ```jsp String action = request.getParameter("action"); String detail = request.getParameter("detail"); ``` #### 三、使用`<jsp:param>`...
<% int result = request.getAttribute("result"); %> 结果显示: <%= result %> ``` **控制器(Controller)** 控制器接收用户请求,调用模型进行处理,并将结果传递给视图显示。在这个例子中,控制器可能是...
接着,我们使用`request.getParameter("id")`来获取URL参数`id`的值,并将其存储在请求作用域的属性中,便于后续JSP页面使用: ```java public class BBSServlet extends HttpServlet { private static final long...
5. **获取请求的属性和参数**:`setAttribute()`和`getAttribute()`方法用于在Request对象中设置和获取自定义属性,这是在请求转发中传递数据的关键。 6. **请求转发**:Request对象的一个重要应用场景就是请求转发...
String message = (String) request.getAttribute("message"); // 移除属性 request.removeAttribute("message"); ``` #### 二、Response对象 `response`对象主要用于向客户端发送响应信息,例如返回HTML页面、...
例如,`request.getParameter()`用于获取表单数据,`request.getRequestURI()`用于获取请求的URL路径,`request.getRemoteAddr()`获取客户端的IP地址。 2. **response对象**:response对象由HttpServletResponse类...