`
dyllove98
  • 浏览: 1403502 次
  • 性别: Icon_minigender_1
  • 来自: 济南
博客专栏
73a48ce3-d397-3b94-9f5d-49eb2ab017ab
Eclipse Rcp/R...
浏览量:38978
4322ac12-0ba9-3ac3-a3cf-b2f587fdfd3f
项目管理checkList...
浏览量:79956
4fb6ad91-52a6-307a-9e4f-816b4a7ce416
哲理故事与管理之道
浏览量:133071
社区版块
存档分类
最新评论

servlet httpClient 下载远程文件

 
阅读更多

通过webService调用远程服务,返回了一个文件下载地址,现在需要从这个下载地址下载,我采用了servlet来实现。在网上发现了一个比较好的方法,现在和大家分享一下,如果有不完善的地方,还请多多指教。

需要用到的org.apache.commons.httpclient.jar 已上传。

一下就是我的代码:

 1 import java.io.File;
 2 import java.io.FileOutputStream;
 3 import java.io.IOException;
 4 
 5 import javax.servlet.ServletException;
 6 import javax.servlet.http.HttpServlet;
 7 import javax.servlet.http.HttpServletRequest;
 8 import javax.servlet.http.HttpServletResponse;
 9 
10 import org.apache.commons.httpclient.HttpClient;
11 import org.apache.commons.httpclient.methods.GetMethod;
12 
13 public class GetAllPolicyServlet extends HttpServlet {
14 
15     public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
16         doPost(request, response);
17     }
18 
19     public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
20         HttpClient client = new HttpClient();
21         GetMethod get = null;
22         try {
23                         //需要导入  org.apache.commons.httpclient.jar包  该文件需要另外下载
24             String path = "http://58.83.209.199:91/download/yeexing/201305090954476272020.zip";
25             get = new GetMethod(path);
26             int i = client.executeMethod(get);
27             if (200 == i) {
28                 File storeFile = new File("d:/201305090954476272020.zip");
29                 FileOutputStream output = new FileOutputStream(storeFile);
30                 output.write(get.getResponseBody());
31                 output.close();
32             } else {
33                 System.out.println("no pic");
34             }
35         } catch (Exception e) {
36             System.out.println("no pic");
37         } finally {
38             get.releaseConnection();
39             client.getHttpConnectionManager().closeIdleConnections(0);
40         }
41     }
42 
43 }

 

分享到:
评论

相关推荐

    HTTPClient + MQ + servlet

    结合上述三个元素,"HTTPClient + MQ + servlet"的组合可能表示这样的应用场景:一个servlet接收到用户的HTTP请求,然后通过HTTPClient向其他远程服务发起请求获取数据。如果远程服务的响应时间较长或者需要处理大量...

    Servlet爬虫下载器.rar

    总结,Servlet爬虫下载器是一个结合了多种Java技术的实用工具,它通过Servlet接收请求,利用反射和爬虫技术处理网络交互,再借助Java IO完成本地文件的存储。了解并掌握这些知识点对于进行Java Web开发和爬虫构建是...

    java servlet使用JSON所需的所有jar包

    在Java Servlet中使用JSON(JavaScript Object Notation)技术,我们需要依赖一些特定...正确引入这些库后,你就可以在Servlet中方便地处理JSON数据,如读取JSON请求参数、生成JSON响应、调用远程JSON RESTful服务等。

    Andriod访问WebService和Servlet.zip

    这可以通过在build.gradle文件中添加依赖来实现,或者将库的jar文件添加到项目的libs目录下。 3. **创建SOAP请求**:使用kSOAP2,你需要构建一个SOAPEnvelope对象,包含SOAPAction、Namespace、Method Name等信息。...

    javaweb文件上传和下载需要导入的包

    `org.apache.commons.io` 包:除了在FileUpload中使用,它还包含大量有用的I/O操作工具类,如文件复制、移动、读写等,对文件下载功能至关重要。 6. **Spring Framework**(如果使用): `org.springframework....

    java远程调用kettle说明与代码.pdf

    主服务器和从属服务器之间是通过HttpClient来进行通讯的,通讯时传递的数据是XML格式。 Kettle主要提供了以下几种基于Servlet的服务: * GetRootServlet:获得Carte的根目录 * GetStatusServlet:获得在服务器上...

    java上传文件到服务器

    这个过程涉及到客户端(通常是用户设备上的应用程序)将本地文件传输到服务器端(可能是远程服务器或云存储)。下面将详细介绍如何使用Java实现文件上传功能。 1. **HTTP协议与文件上传** 文件上传通常基于HTTP或...

    java上传和下载所需要的jar包

    4. **HttpClient**:Apache HttpClient是一个强大的库,用于发送HTTP请求,包括文件下载。通过`HttpPost`和`HttpGet`等方法,可以构建请求并处理响应。对于大文件下载,可以使用分块下载以提高性能。 5. **OkHttp**...

    联合永道java面试题.pdf

    本资源摘要信息对应的文件是“联合永道java面试题.pdf”,该文件主要涵盖了JavaWeb开发中的一些重要知识点,包括HTTPClient的超时设置、Servlet的生命周期、Forward和Redirect的概念、JSP和Servlet的区别、JSP的编译...

    本地/FTP上传下载

    本地上传下载涉及客户端与服务器之间的数据交换,而FTP(File Transfer Protocol)上传下载则涉及到远程服务器的文件管理。以下是对这两个主题的详细解释: 1. **本地上传下载** - **上传**:本地上传是指用户将...

    org.apache.HTTP需要的jar包.zip

    在JSP+Servlet或者基于SSM、SSH等框架的项目中,导入这些JAR文件后,开发者可以轻松地在后台服务中发起HTTP请求,获取远程数据,实现如调用RESTful API、数据同步等功能。例如,你可以使用`CloseableHttpClient`创建...

    java远程调用kettle说明与代码文.pdf

    - 主从服务器间的通信使用HTTPClient进行,数据以XML格式传输。Kettle提供了多种基于Servlet的服务,如获取服务器状态、启动/停止/暂停转换或作业、注册从服务器等。 5. **服务接口**: - `GetRootServlet`:返回...

    Android网络功能开发-使用HTTP协议通信的例子

    在Android应用开发中,网络功能是不可或缺的一部分,它使得设备能够与远程服务器进行数据交互,实现各种服务,如获取天气信息、发送用户数据等。本示例主要关注使用HTTP协议进行客户端-服务器通信,分为Android...

    较全面DWR包

    3. **配置文件**:DWR的配置通常通过一个或多个XML文件完成,这些文件定义了哪些Java类和方法可以被远程调用,以及如何处理这些调用。配置文件可能包含`dwr.xml`,它是DWR的主要配置文件,或者其他的特定配置文件。 ...

    Jsplib.rar

    在JSP应用中,HttpClient可以帮助开发者进行HTTP请求,获取远程服务的数据,或者实现API调用。 6. **HttpCore**:Apache HttpCore是HttpClient的基础组件,提供了HTTP协议的核心实现,包括连接管理、请求处理和响应...

    java+restful+Jersey+webservice 远程调用

    - 配置Web应用的`web.xml`文件,注册Jersey的Servlet,比如`com.sun.jersey.spi.container.servlet.ServletContainer`。 3. **资源类(Resource Class)**: - 创建Java类,使用JAX-RS注解定义资源方法。例如,你...

    android网络请求

    在Android应用开发中,网络请求是必不可少的一部分,用于获取或发送数据到远程服务器。本示例将探讨如何在Android客户端中实现网络请求,以及如何在Java Servelet后端处理这些请求。以下是一些关键知识点: 1. **...

    spring MVC所需jar包

    在实际项目中,可能还需要根据需求引入其他库,如 MyBatis、Hibernate 作为数据访问层,或者使用 Apache HttpClient 进行远程调用等。确保正确配置并导入所有必要的依赖,是成功搭建和运行 Spring MVC 应用的前提。

    java开发常用jar包之webservice.rar

    本压缩包文件“java开发常用jar包之webservice.rar”很可能包含了与这两种技术相关的库文件,用于简化Java开发者创建和消费Web服务的过程。 JAX-WS是Sun Microsystems推出的用于构建SOAP(Simple Object Access ...

Global site tag (gtag.js) - Google Analytics