1.httpURLConnection类中有setRequestMethod()方法来选择以何种方式发送请求,如POST、GET等;而它的夫类URLConnection中则没有这个方法,何解?是否URLConnection只以POST方式发送请求?2.BufferedReader in = request.getReader()和BufferedReader in = new BufferedReader(new InputStreamReader(request.getInputStream(),"UTF-8"));这两种获取输入流的方式,有什么区别?听说一个是字节流,一个是字符流?如果请求是字节流的形式,那接收的地方用那种方式比较好?

解决方案 »

  1.   

    1. POST GET  是http协议里面的两种方法URLConnection里肯定没有这个说法2.两种都是字符流 ,应该是一样的,只是后面的用了UTF-8编码
      

  2.   

    2。使用utf8编码而不是系统默认编码??
      

  3.   

    BufferedReader in = request.getReader()默认的是以什么编码方式读取????
      

  4.   

    谢谢,这么说URLConnection发出的请求既非POST也非GET?我测试了一下,URLConnection发出的请求,Servlet里是用doPost接收到的,doGet接不到。还是有疑问。
      

  5.   

    interpb(曾曾胡,深怕情多累美人!)说的好
      

  6.   

    URLConnection只是一个抽象类你构造的URLConnection 对象实际上应该也是一个HttpURLConnection 对象
      

  7.   

    setRequestMethod(String method) 设置 URL 请求的方法, GET, POST, HEAD, OPTIONS, PUT ,DELETE, TRACE, 以上方法之一是合法的,具体取决于协议的限制。
      

  8.   

    interpb(曾曾胡,深怕情多累美人!)说的好
      

  9.   

    还是没有人说中要害。我这样构造:
    URL url=new URL(sURL);
    URLConnection uc = url.openConnection();
    这样的话uc是一个URLConnection,但不是一个HttpURLConnection。那么既然URLConnection没有setRequestMethod()方法,那么说明他有固定或默认的请求方式?是POST吗?如果不是,那为何doPost能接收到,doGet则收不到?