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)

EnumerationgetParameterNames()

MapgetParameterMap()

方法介绍

获取指定名称的请求参数值,适用于单值的请求参数

获取指定名称的请求参数值,适用于多值的请求参数

获取所有的请求参数名称

获取所有请求参数,其中参数名作为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所示: