`
陈静静2014
  • 浏览: 41837 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

HttpServletRequest.getParameter(String)和getAttribute()的区别

web 
阅读更多
【转】地址忘记了,,,

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)是一样的道理。
分享到:
评论

相关推荐

    基于request.getAttribute与request.getParameter的区别详解

    在Java Servlet和JSP开发中,`HttpServletRequest`接口提供了两种主要的方法来获取客户端发送到服务器的数据:`getAttribute()`和`getParameter()`。它们虽然都用于获取请求中的数据,但有着本质的区别,下面将详细...

    数据库测试test.sql

    // String methodName = request.getParameter("method"); // // //根据method属性的值调用相应的方法 // if("login".equals(methodName)){ // this.login(request,response); // }else if("register".equals(method...

    HTTP:getAttribute和getParameter的区别

    其中,`getAttribute()` 和 `getParameter()` 是两个非常重要的方法,它们分别用于处理不同的数据类型和场景。本文将详细探讨这两个方法之间的区别,并结合实例进行讲解。 #### 二、`getParameter()` 方法详解 `...

    Jsp的request的用法

    在本篇文章中,我们将深入探讨`request.getParameter()`和`request.setAttribute()`以及`request.getAttribute()`的区别,并提供相关示例来帮助理解它们的用法。 **一、request.getParameter() 和 request....

    投票系统,基于mvc开发,jsp+servlet+mysql

    String action = req.getParameter("action"); ServletContext application = getServletContext(); // 显示的列表 if ("show".equals(action)) { // 调用service层方法得到所有的 String temp = ...

    JavaWeb开发技术-HttpServletRequest对象.pptx

    * `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)){ ...

    java相关文件

    String prodPrice = request.getParameter("prodPrice"); String prodNum = request.getParameter("prodNum"); ``` 2. **会话管理**: - 使用 `HttpServletRequest.getSession()` 来获取当前用户的会话,并存储...

    留言板.txt

    String user = (String) session.getAttribute("user"); out.print(user + "欢迎"); } else { out.print("登录失败"); response.setHeader("refresh", "3;URL=NewFile.jsp"); } %> ``` ### 2. Servlets与JSP...

    Jsp与Servlet之间的传值(已验证)

    String testSession = (String) request.getSession().getAttribute("testSession"); ``` 接下来,我们探讨Servlet如何将值传递回JSP: 1. **Servlet设置属性并转发**:Servlet可以将值设置到`...

    JAVA WEB 开发详解(JSP+Serlet)

    String randomCode=(String)session.getAttribute("randomCode"); if(null==randomCode) { resp.sendRedirect("login.html"); return; } String reqRandom=req.getParameter("random"); req.set...

    request请求获取参数的实现方法(post和get两种方式)

    在Servlet端,我们可以使用`HttpServletRequest`的`getParameter()`方法来获取这些参数: ```java protected void doGet(HttpServletRequest request, HttpServletResponse response) { System.out.println("get:...

    HttpServletRequest与HttpServletResponse的实现类.docx

    6. **getParameter()与getAttribute()区别**: - `getParameter(String name)` 用于获取表单或其他HTTP请求中传递的字符串参数。 - `getAttribute(String name)` 获取在请求域中设置的任何类型对象,可以是任何...

    音乐管理系统(servlet传参数)

    String cdId = request.getParameter("cdId"); int quantity = Integer.parseInt(request.getParameter("quantity")); // 保存到购物车的逻辑,例如使用session来存储 HttpSession session = request....

    总结JSP与servlet之间的传值

    当用户在JSP页面上填写表单并提交时,表单数据会被封装到HttpServletRequest对象中,可以通过`request.getParameter()`方法获取。例如,对于`<input name="username" type="text" />`,在Servlet中可以使用`String ...

    jsp基础学习课件(从基础开始),进一步了解JSP的相关基础应用。3

    通过`application.getAttribute(String name)`和`application.setAttribute(String name, Object value)`,开发者可以在所有用户和会话之间共享信息。这在需要在整个应用范围内管理数据时非常有用,比如配置信息或...

    基于javaweb上机报告.doc

    Map<String, Integer> cart = (Map<String, Integer>) session.getAttribute("cart"); if (cart == null) { cart = new HashMap(); session.setAttribute("cart", cart); } if (cart.containsKey(bookId)) {...

    JSP内置对象实验报告.doc

    `pageContext.getAttribute()`和`pageContext.setAttribute()`用于获取和设置这些范围内的属性。 通过这些实验,你可以深入理解JSP内置对象的用途和功能,并学会如何在实际开发中有效利用它们来构建更复杂的Web应用...

    sevlet用法总结

    1. `request.getParameter(String)`:获取单个表单字段的值,返回`String`。 2. `request.getParameterValues(String)`:对于多值字段(如复选框),返回`String[]`数组。 如果你需要将这些值转换为其他类型,例如...

    Web编程(Java )-JSP内置对象的应用.doc

    这通常通过`request.getParameter()`方法实现,例如`String user = request.getParameter("user1");`。 3. **Response对象** - `HttpServletResponse`对象用于构造并发送HTTP响应。在登录验证完成后,根据结果,`...

Global site tag (gtag.js) - Google Analytics