——————————接上文Servlet介绍(一)——————
这里着重来说一下服务器获取请求参数的几种方法,首先是通过getParameter方法获取请求参数的值,第二种通过getParameterNames获取所有请求参数的名称,返回一个Enumeration 类型,然后循环迭代取值,第三种是通过getParameterValues获取同一参数名的值,该方法返回一个String数组,第四种,也是最重要的一种是通过getParameterMap方法将请求参数名和值封装到一个map对象中,返回Map<
String,String[]>
对象,注意键的值是一个String数组(其目的是防止同一参数名称有多个值),若引入了BeanUtils库,则调用其populate方法可将参数封装到一个对象中,实际上,Struts2框架也是通过此方法将值封装至对象,最后一种通过request的getInputStream来获取数据:
InputStream in=null;
int len=0;
byte[] buf=new byte[1024];
try {
in=req.getInputStream();
while((len=in.read(buf))!=-1){
System.out.println(new String(buf,0,len));
}
} catch (IOException e) {
e.printStackTrace();
}
但其只能通过post请求来获取数据,无法通过get来获取数据。这种方法很少用,其主要作用是用来进行文件上传:
InputStream in=null;
OutputStream out=null;
int len=0;
byte[] buf=new byte[1024];
try {
in=req.getInputStream();
out=new FileOutputStream("TestServlet\\download");
while((len=in.read(buf))!=-1){
out.write(buf, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
}
时间: 2024-10-07 06:08:28