【转】地址忘记了,,,
getParameter(String)和getAttribute()这两个方法都是从request对象中获得参数的方法。但实际上他们之间有着本质的区别。
1. getParameter()是指客户端和server端之间的数据传递。我们在从浏览器端发出一个请求到server端时(无论是GET和POST方式),所有的参数都是被包装成了String的形式之后才被传递到server端的。所以,我们在server端的代码中就可以通request.getPapameter(String)的方式来取得。
2. getAttribute()一向是和setAttribute()一起使用的,只有先用setAttribute()设置之后,才能够通过getAttribute()来获得值,它们传递的是Object类型的数据。而且必须在同一个request对象中使用才有效。
何谓同一个request呢?例如,在同一个servelet中,同一个Action中(Struts),同一个JSP中等等;或者是同一个request被forward了多次,那么每一个处理这个request对象的web组件都是使用的同一个request对象;或者include的方式也是一样的。
从以上分析,这两者之间的区别就很明确了。getParameter()是在数据从客户端到server端之后才有效的,而getAttribute()则是server端内部的事情,只有在server端调用了setAttribute()之后,并且没有redirect,没有到客户端之前,getAttribute()才有效。
同理,getParameterNames()和getParameterValues(String)---获取前台多选的内容 跟getParameter(String)是一样的道理。
分享到:
相关推荐
在Java Servlet和JSP开发中,`HttpServletRequest`接口提供了两种主要的方法来获取客户端发送到服务器的数据:`getAttribute()`和`getParameter()`。它们虽然都用于获取请求中的数据,但有着本质的区别,下面将详细...
// String methodName = request.getParameter("method"); // // //根据method属性的值调用相应的方法 // if("login".equals(methodName)){ // this.login(request,response); // }else if("register".equals(method...
其中,`getAttribute()` 和 `getParameter()` 是两个非常重要的方法,它们分别用于处理不同的数据类型和场景。本文将详细探讨这两个方法之间的区别,并结合实例进行讲解。 #### 二、`getParameter()` 方法详解 `...
在本篇文章中,我们将深入探讨`request.getParameter()`和`request.setAttribute()`以及`request.getAttribute()`的区别,并提供相关示例来帮助理解它们的用法。 **一、request.getParameter() 和 request....
String action = req.getParameter("action"); ServletContext application = getServletContext(); // 显示的列表 if ("show".equals(action)) { // 调用service层方法得到所有的 String temp = ...
* `getParameter(String name)`:返回指定名称的参数值。 * `getParameterValues(String name)`:返回指定名称的参数值的数组。 * `getParameterNames()`:返回所有参数的名称。 * `getParameterMap()`:返回所有...
String id=request.getParameter("id"); List<CartItem> items=(List)this.getServletContext().getAttribute("items"); CartItem item=null; for(CartItem i : items){ if(i.getId().equals(id)){ ...
String prodPrice = request.getParameter("prodPrice"); String prodNum = request.getParameter("prodNum"); ``` 2. **会话管理**: - 使用 `HttpServletRequest.getSession()` 来获取当前用户的会话,并存储...
String user = (String) session.getAttribute("user"); out.print(user + "欢迎"); } else { out.print("登录失败"); response.setHeader("refresh", "3;URL=NewFile.jsp"); } %> ``` ### 2. Servlets与JSP...
String testSession = (String) request.getSession().getAttribute("testSession"); ``` 接下来,我们探讨Servlet如何将值传递回JSP: 1. **Servlet设置属性并转发**:Servlet可以将值设置到`...
String randomCode=(String)session.getAttribute("randomCode"); if(null==randomCode) { resp.sendRedirect("login.html"); return; } String reqRandom=req.getParameter("random"); req.set...
在Servlet端,我们可以使用`HttpServletRequest`的`getParameter()`方法来获取这些参数: ```java protected void doGet(HttpServletRequest request, HttpServletResponse response) { System.out.println("get:...
6. **getParameter()与getAttribute()区别**: - `getParameter(String name)` 用于获取表单或其他HTTP请求中传递的字符串参数。 - `getAttribute(String name)` 获取在请求域中设置的任何类型对象,可以是任何...
String cdId = request.getParameter("cdId"); int quantity = Integer.parseInt(request.getParameter("quantity")); // 保存到购物车的逻辑,例如使用session来存储 HttpSession session = request....
当用户在JSP页面上填写表单并提交时,表单数据会被封装到HttpServletRequest对象中,可以通过`request.getParameter()`方法获取。例如,对于`<input name="username" type="text" />`,在Servlet中可以使用`String ...
通过`application.getAttribute(String name)`和`application.setAttribute(String name, Object value)`,开发者可以在所有用户和会话之间共享信息。这在需要在整个应用范围内管理数据时非常有用,比如配置信息或...
Map<String, Integer> cart = (Map<String, Integer>) session.getAttribute("cart"); if (cart == null) { cart = new HashMap(); session.setAttribute("cart", cart); } if (cart.containsKey(bookId)) {...
`pageContext.getAttribute()`和`pageContext.setAttribute()`用于获取和设置这些范围内的属性。 通过这些实验,你可以深入理解JSP内置对象的用途和功能,并学会如何在实际开发中有效利用它们来构建更复杂的Web应用...
1. `request.getParameter(String)`:获取单个表单字段的值,返回`String`。 2. `request.getParameterValues(String)`:对于多值字段(如复选框),返回`String[]`数组。 如果你需要将这些值转换为其他类型,例如...
这通常通过`request.getParameter()`方法实现,例如`String user = request.getParameter("user1");`。 3. **Response对象** - `HttpServletResponse`对象用于构造并发送HTTP响应。在登录验证完成后,根据结果,`...