www.163.com?wqe=213;adasd=133
这还是一个url,只能用request.getParameter之类的方法获取如果你用过ajax,在xmlhttprequest中的sendData中传输的数据就可以通过request.getInputStream来获得 具体代码怎么写的忘记了 网上应该有不少总而言之,www.163.com?wqe=213;adasd=133只是被作为一个url,是一个整体. 但是当你链接某个url之后,向其发送数据,这时候你才可能用request.getInputStream来读取其中的数据
这还是一个url,只能用request.getParameter之类的方法获取如果你用过ajax,在xmlhttprequest中的sendData中传输的数据就可以通过request.getInputStream来获得 具体代码怎么写的忘记了 网上应该有不少总而言之,www.163.com?wqe=213;adasd=133只是被作为一个url,是一个整体. 但是当你链接某个url之后,向其发送数据,这时候你才可能用request.getInputStream来读取其中的数据
=> YES另外,那个2进制的数据问题
=>如果没说错的话 那是因为传输的是数据流
这是一个Servlet的下载的别人写的例子程序:
String filePath="D://upload//"+request.getParameter("fileName");
System.out.println("-------filePath----------"+filePath);
File f = new File(filePath);
if(!f.exists()){
response.sendError(404,"File not found!");
return;
}
BufferedInputStream br = new BufferedInputStream(new FileInputStream(f));
byte[] buf = new byte[1024];
int len = 0;
//重置下载方法
response.reset();
//设置http头
response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition", "attachment; filename=" + f.getName());
//设置输出流
OutputStream out = response.getOutputStream();
//如果流的长度len>0,向外写这些流
while((len = br.read(buf)) >0){
out.write(buf,0,len);
}
这是个下载的例子,也就是说用BufferedInputStream br邦定你要下载这个文件,通过一个字节数组byte[] buf作为桥梁,读到字节数组当中,在从这个字节数组向外写流,写到哪里去了,这时候有产生了一个疑问,那response写的流,你在页面单击一个链接,然后弹出对话框问你保存在哪,这个对话框究竟怎么调用的??????????????
当你选择了位置时,那流就按照这个对话框的指示去建立了,然后写到你指定的对话框的具体位置,是吗????????????????
=> 当然是写到客户的浏览器中去了然后弹出对话框问你保存在哪,这个对话框究竟怎么调用的??????????????
=> 当浏览器判断到页面输出是一个文件下载的流时,自动会弹出窗口让你保存这个文件.当你选择了位置时,那流就按照这个对话框的指示去建立了,然后写到你指定的对话框的具体位置,是吗????????????????
=> 是,这里文件保存在本地的路径已经是由浏览器来处理的了.P.S. 你问题还真不少!