用HTTP PUT方式传输数据

Posted on Thu 08 May 2008 in 我用(IT)

- 功能说明
客户端通过发起http put请求,把文件传送到服务器上

- Client
用Java实现,有两种方案:
1. Jakarta HttpClient

2. 用JDK自带的HttpURLConnection
//URL地址中包含文件路径和名称的信息
URL url = new URL("http://...");  
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true)
conn.setRequestMethod("PUT");
//getInputStream,写入数据
//读取状态

需要注意的地方:
1. 真实使用时需要认证
2. 传输资源的名称要包含在URL信息中
3. 注意对回传状态的处理

- Server
实现HttpServlet中的doPut方法,用Request.getInputStream读取数据
根据RFC1616中9.6 PUT的要求,回写状态

- 参考
HTTP specification