request.getAttribute()获得的数据必须曾经有过setAttibute()过;

而request.getParameter()获得是客户端POST或者GET请求时所携带的参数的值

getParameter 是用来接受用post个get方法传递过来的参数的.
getAttribute 必须先setAttribute.

(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里有

  1. <form name="form1" method="post" action="2.jsp">
  2. 请输入用户姓名:<input type="text" name="username">
  3. <input type="submit" name="Submit" value="提交">
  4. </form>

的话在2.jsp中通过request.getParameter("username")方法来获得请求参数username:

  1. < % String username=request.getParameter("username"); %>

但是如果两个WEB间为转发关系时,转发目的WEB可以用getAttribute()方法来和转发源WEB共享request范围内的数据,也还是说一个例子吧。

有1.jsp和2.jsp

1.jsp希望向2.jsp传递当前的用户名字,如何传递这一数据呢?先在1.jsp中调用如下setAttribute()方法:

  1. <%
  2. String username=request.getParameter("username");
  3. request.setAttribute("username",username);
  4. %>
  5. <jsp:forward page="2.jsp" />

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

  1. <% String username=(String)request.getAttribute("username"); %>

(1)HttpServletRequest 类有setAttribute()方法,而没有setParameter()方法

(2) 当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数,

(3) 当两个Web组件之间为转发关系时,转发目标组件通过getAttribute()方法来和转发源组件共享request范围内的数据。

一般通过表单和链接传递的参数使用getParameter

通过request.setAttribute("name","jerry")的方式赋值的使用request.getAttribute("name")

这个问题主要是request和session的差别,request范围较小一些,只是一个请求,简单说就是你在页面上的一个操作, request.getParameter()就是从上一个页面中的url、form中获取参数,但如果一个request涉及多个类,后面还要取参数,可以用request.setAttribute()和request.getAttribute(),但是当结果输出之后,request就结束了。

而session可以跨越很多页面,可以理解是客户端同一个IE窗口发出的多个请求。这之间都可以传递参数,比如很多网站的用户登录都用到了。

一般可以用getParameter得到页面参数。。。字符串。。。

getAttribute()可以得到对象。。。

getParameter可以得到页面传来的参数如?id=123之类的。

getAttribute()常用于servlet页面传递参数给jsp

最新文章

  1. Java集合之LinkedList
  2. 赞!jsPDF – 基于 HTML5 的强大 PDF 生成工具
  3. javascript对象转化为基本数据类型规则
  4. Hashmap in java
  5. jqgrid使用简单记录
  6. [IOS]包含增删改查移动的tableView展示+plist文件保存+程序意外退出保存Demo
  7. vijos 1234 口袋的天空
  8. C# Npoi 实现Excel与数据库相互导入
  9. IIS 运行ASP.Net的基本配置(编辑中。。。)
  10. Tomcat优化详解
  11. 一个极为简单的方法实现本地(离线)yum安装rpm包
  12. spring boot 入门(一)
  13. ORM操作 数据库外键 一对多
  14. (转)UCOSII源代码剖析
  15. HG255D 刷机备忘
  16. StringBuffer 去掉最后一个字符
  17. JavaScript 数组复制的方法
  18. stl源码剖析 详细学习笔记deque(1)
  19. Hibernate基础知识详解
  20. python 用 __all__ 暴露接口

热门文章

  1. Web前端开发HTML基础
  2. spring + dubbo 学习
  3. python:map 函数
  4. js截取字符串相关的知识点
  5. Oracle DBA 学习总结
  6. 关于windows下无法删除文件,需要TrueInstaller权限的问题
  7. SDRAM介绍
  8. idea使用问题总结
  9. 架构师成长之路5.1-Saltstack安装及入门
  10. 【LeetCode】451-根据字符出现频率排序