2024年6月13日发(作者:)
—高级软件人才实作培训专家!
request获取请求参数
1.
请求参数介绍
请求参数是由客户端发送给服务器,并可以通过request对象调用相关方法来获取。例如,在浏览器端
通过localhost:8080/Example09/AServlet?name=zhangsan访问AServlet,其中“?”号后面的
“name=zhangsan”就是请求参数,或者在form表单中,如下所示:
用户名:
密码:
当表单提交时,表单中的表单项:用户名、密码都会作为请求参数提交给AServlet。其中,参数名分
别为username、password;参数值为文本框中输入的值。以上所说的两种方式的请求参数,前者是get方
式的请求参数,后者是post方式的请求参数。获取它们的方式都是一样的,但是处理参数编码的方式不一
样,后面我们会详细学习。
请求参数有两种情况:一种情况是一个请求参数对应一个值,例如form表单中的类型为text表单项;
另一种情况是一个请求参数对应多个值,例如form表单中的checkbox表单项。
2.
获取请求参数方法介绍
request对象获取请求参数的方法有以下几个,详情请看表1-1:
表1-1request获取请求参数方法介绍
方法名
StringgetParameter(Stringname)
String[]getParameterValues(Stringname)
Enumeration
Map
方法介绍
获取指定名称的请求参数值,适用于单值的请求参数
获取指定名称的请求参数值,适用于多值的请求参数
获取所有的请求参数名称
获取所有请求参数,其中参数名作为map的key,参数
值作为map的value.
通过对以上方法的了解,下面我们通过一个案例来详细学习这些方法的使用,详情请参考案例详解,
点击此处
下载源代码,具体如下:
(1)创建一个web应用,Example09,在该应用中新建一个,主要代码如例1-1所示:
例
测试请求参数
用户名:
—高级软件人才实作培训专家!
密
爱
码:
好:
在中,有一个超链接,该超链接有两个参数;还有一个form表单,该表单有三个参数,
其中一个参数可以有多个值。
(2)在Example09中新建一个Servlet类,ParamServlet,主要代码如例1-2所示:
例
publicclassParamServletextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
n("GET:"+ameter("xxx"));
n("GET:"+ameter("yyy"));
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
Stringusername=ameter("username");
Stringpassword=ameter("password");
String[]hobby=ameterValues("hobby");
n(username
ng(hobby));
}
}
+","+password+","+
在ParamServlet中,doGet()方法获取get请求的请求参数并打印在控制台,doPost()方法获得post请求
的请求参数,其中由于hobby有多个值所以使用request的getParameterValues()方法获取。
(3)将Example09发布到Tomcat服务器,然后启动服务器,在浏览器端输入:
localhost:8080/Example09/,浏览器显示结果如图1-1所示:


发布评论