getParameter得到的都是String类型的。或者是用于读取提交的表单中的值(http://a.jsp?id=123中的123),或者是某个表单提交过去的数据; 
getAttribute则可以是对象Object,需进行转换,可用setAttribute设置成任意对象,使用很灵活,可随时用; 
getAttribute()是获取对象容器中的数据值;

getAttribute()是获取SESSION的值;

getParameter()是获取POST/GET传递的参数值; 
getParameter:用于客户端重定向时,即点击了链接或提交按扭时传值用,即用于在用表单或url重定向传值时接收数据用。 
getAttribute:用于服务器端重定向时,即在sevlet中使用了forward函数,或struts中使用了mapping.findForward。getAttribute只能收到程序用setAttribute传过来的值。 
setAttribute 是应用服务器把这个对象放在该页面所对应的一块内存中去,当你的页面服务器重定向到另一个页面时,应用服务器会把这块内存拷贝另一个页面所对应的内存中。这样getAttribute就能取得你所设下的值,当然这种方法可以传对象。session也一样,只是对象在内存中的生命周期不一样而已。 
getParameter只是应用服务器在分析你送上来的request页面的文本时,取得你设在表单或url重定向时的值。

HttpServletRequest类既有getAttribute()方法,也由getParameter()方法;

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

//************************************************

当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数,例如假定welcome.jsp和authenticate.jsp之间为链接关系,welcome.jsp中有以下代码:

<a href="authenticate.jsp?username=weiqin">authenticate.jsp </a>

或者:

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

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

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

当两个Web组件之间为转发关系时,转发目标组件通过getAttribute()方法来和转发源组件共享request范围内的数据。假定authenticate.jsp和hello.jsp之间为转发关系。authenticate.jsp希望向hello.jsp传递当前的用户名字,如何传递这一数据呢?先在authenticate.jsp中调用setAttribute()方法:

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

<jsp:forward page="hello.jsp" />

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

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

从更深的层次考虑,request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据。request.getParameter()方法返回String类型的数据。 
request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。这两个方法能够设置Object类型的共享数据。

PS:

当利用request.getParameter得到Form元素的时候,默认情况的字符编码为ISO-8859-1,这种编码不能正确地显示汉字。目前有两种解决方法,一种是在执行操作之前,设置request的编码格式,语法是“request.setCharacterEncoding("GBK");”。另一种方法是转换字符编码,语法为:

<%String str=request.getParameter("boy");

byte  b[ ]=str.getBytes("ISO-8859-1");

str=new String(b);

from: https://blog.csdn.net/chy19911123/article/details/38492817

getParameter的用法总结相关推荐

  1. getParameter的用法说明

    getParameter的用法总结 getParameter得到的都是String类型的.或者是用于读取提交的表单中的值(http://a.jsp?id=123中的123),或者是某个表单提交过去的数 ...

  2. getParameter方法的用法

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站 点击跳转浏览. html核心代码 <body><font size = " ...

  3. request.getParameter、request.getParameterValues、request.getParameterMap用法

    首先request中的参数parameter是一个map表,如:map={username=[xxx],password=[xxx],hobby=[eat,drink]} 调用getParameter ...

  4. getParameter用法

    最近学习JAVA的WEB开发,遇到Request中相关的getParameter方法问题.在网上找了一下.自己整理,以备以后查用. getParameter得到的都是String类型的.或者是用于读取 ...

  5. JSONObject和JSONArray(json-lib-2.4)的基本用法

    json-lib-2.4是一个用于JSON和java对象间转换的第三方包,其jar和依赖包下载地址在:https://files.cnblogs.com/files/xiandedanteng/jso ...

  6. getparameter的使用

    在做项目的过程中,会遇到跳转的页面,直接打开到里面的子项,这个时候,看了UI给我设计了四个页面,如果做四个页面,肯定是可以实现的.但是这个不符合前端的设计.就在想通过点击传值进去,肯定是能够获取到的. ...

  7. document.forms用法

    1.FF中不能接受document.forms("formname")的使用,ie中可以 最好改成document.forms["formname"]的下标用法 ...

  8. WEB Struts2 中OGNL的用法

    2019独角兽企业重金招聘Python工程师标准>>> User对象属性获取 如User中有username和password字段 获取username属性<s:propert ...

  9. SpringMVC中 -- @RequestMapping的作用及用法

    一.@RequestMapping 简介 在Spring MVC 中使用 @RequestMapping 来映射请求,也就是通过它来指定控制器可以处理哪些URL请求,相当于Servlet中在web.x ...

最新文章

  1. hive连接mysql的配置_Dbeaver连接Hive和Mysql的配置
  2. 线性代数:第三章 矩阵的初等变换与线性方程组(1)矩阵的初等变换 矩阵的秩
  3. 用键盘来操纵鼠标指针(鼠标损坏时的应急措施)
  4. 断言工具的编写_编写干净的测试–用特定领域的语言替换断言
  5. MEF: MSDN 杂志上的文章(15) 拒绝【多个导出,但只用一个导入,会拒绝,但还是稳定的组合】...
  6. Oracle数据库外部的身份认证方法
  7. IIS HTTP文件服务器搭建步骤
  8. 禁止 DELL E5420 触摸板的方法
  9. c语言文学研究助手报告,文学研究助手数据结构报告
  10. STM32单片机的学习
  11. 笔记本升级--固态硬盘安装双系统win10-CentOS
  12. revit翻模中需要绘制路径和边界的构件(楼板,屋顶)怎么做不出错?
  13. LeetCode 0699.掉落的方块
  14. MATLAB的乘法函数,Matlab乘法函数
  15. 简单理解云桌面的模板,桌面池和虚拟机的概念
  16. jmeter 打开报错_Jmeter-打开jmx文件报错
  17. python开心消消乐辅助_用Python写个开心消消乐小游戏
  18. 信息安全快讯丨夏末秋初,正是阅读好时光
  19. 网页设计与开发-实验报告-4
  20. AdvancedMaterials IF=32 | 华科朱艳红/张燕/杨祥良构建工程菌实现近红外纳米光基因激活的癌症免疫治疗...

热门文章

  1. LESSON 12.8 原理进阶 (1):GBDT数学流程与残差概念辨析
  2. GMIS 2017大会杨强演讲:迁移学习的挑战和六大突破点
  3. 英国政府开源了其大规模监控软件
  4. jvm性能调优 - 17案例实战_每日上亿请求量的电商系统 老轻代垃圾回收参数如何优化
  5. 白话Elasticsearch37-深入聚合数据分析之案例实战Date Histogram Aggregation:统计每月电视销量
  6. VMware-使用VMware在本地搭建多个CentOS虚机
  7. 实战SSM_O2O商铺_30【商品】商品添加之Controller层的实现
  8. 获取屏幕的宽和高-Display中getHeight()和getWidth() 官方废弃
  9. jquery.ajax上传个数限制,关于jquery ajax上传的坑
  10. 什么是分布式系统中的幂等性