URL url = new URL("http://" + URLHost + ":" + URLPort + "/WebRoot/servlet/BOSSServlet?xmldata="+xmlstr);
URLConnection uc = url.openConnection();小弟想用以上代码在JAVA中访问某个Servlet,且serlet 中
java.io.PrintWriter out= res.getWriter();
     out.println(outString);请我,我如何取得那个servlet的返回内容??谢谢了

解决方案 »

  1.   

    请求
    ---------- OutputStream serverOutputStream = uc.getOutputStream();
    serverOutputStream.write("This is test for Servlet"
    .getBytes());
    serverOutputStream.flush();
    serverOutputStream.close();取得servlet的返回内容
    InputStream is = uc.getInputStream();
    int a;
    System.out.println("Response Message=======================");
    while ((a = is.read()) != -1) {
    System.out.write(a);
    }
    System.out.write("\n".getBytes());
    System.out.flush(); is.close();
      

  2.   

    为什么 我加入上面的代码,只看到了个Response Message======================= 没其他内容呢?!
      

  3.   

    请求 
    ---------- 
    java.io.OutputStream raw = uc.getOutputStream();
    java.io.OutputStream buf = new BufferedOutputStream(raw);
    OutputStreamWriter out = new OutputStreamWriter(buf, "GB2312");
    System.out.println();
    out.write("xmldata="+xmlstr);
    System.out.println("------- buf.toString()---------"+ buf.toString());
    out.flush();
    out.close();取得servlet的返回内容 
    -----------
    InputStream in = uc.getInputStream();
    in = new BufferedInputStream(in);
    java.io.Reader r = new InputStreamReader(in);
    String str="";
    StringBuffer sb=new StringBuffer();
    while(r.read()!=-1) { 
     sb.append(str); 
     } 
    System.out.println("------------back---------------"+sb.toString());
    in.close();同样取得返回内容还是为空,不知为何?哪位给个解决办法?!
      

  4.   


    一楼的请求和响应全是客户端的。
    你的servlet要保证送出消息来。
    所以上面的代码把out close一下应该就好了。。