package com.test.action; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler; import org.apache.commons.httpclient.Header; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.methods.PostMethod; import org.apache.commons.httpclient.params.HttpMethodParams; /** * 这个关于HttpClient的方法已经在我博文中有记录,这里要讨论的是一种编码注释方式。 * * 下面的(1),(2)。。。(7)在这里是一种代码结构流程,你可以按照业务流程进行步骤注释, * <1>这样不论是对于你自己很久没看代码,或者是对于一位新人来接替你的代码,都绝对是一种很对理解 * 很有帮助的注释方式。 * <2>尽量以此来固定相似功能的业务流程,这样新手过来编码也能很快按照套路开发功能,极大提高工作效率。 * <3>请发挥程序员的举一反三的能力,可以以此变种多样的有效注释方式,目的只有一个:提高效率 * * @author tianjun */ public class PostTest { public static void main(String[] args) { // (1)构造HttpClient的实例 HttpClient httpClient = new HttpClient(); // (2)创建POST方法的实例 PostMethod postMethod = new PostMethod( "http://localhost:8080/b/test1.do"); // GetMethod getMethod = new // GetMethod("http://localhost:8080/b/test1.do"); // (3)设置http request头 List<Header> headers = new ArrayList<Header>(); headers.add(new Header("tianjun_key", "tianjun_value")); httpClient.getHostConfiguration().getParams().setParameter( "http.default-headers", headers); // 使用系统提供的默认的恢复策略 postMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler()); // getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, // new DefaultHttpMethodRetryHandler()); try { // (4)执行postMethod int statusCode = httpClient.executeMethod(postMethod); if (statusCode != HttpStatus.SC_OK) { System.err.println("Method failed: " + postMethod.getStatusLine()); } // (5)读取response头信息 Header headerResponse = postMethod .getResponseHeader("response_key"); String headerStr = headerResponse.getValue(); // (6)读取内容 byte[] responseBody = postMethod.getResponseBody(); // (7) 处理内容 System.out.println(headerStr); System.out.println(new String(responseBody)); } catch (HttpException e) { // 发生致命的异常,可能是协议不对或者返回的内容有问题 System.out.println("Please check your provided http address!"); e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { // 释放连接 postMethod.releaseConnection(); } } }
项目中积累出显著提高效率的注释方式
猜你喜欢
转载自tianjun309.iteye.com/blog/854441
今日推荐
周排行