我在一个java的client中使用
url = new URL(urlAddress);
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestMethod("POST");
来将我一个文本框中的数据穿到一个servlet中,因为原来使用的是GET方法,所以直接在URL中写好参数就可以了。
可是现在要传的文本有2k所以只能改用post方法了。
找不到资料,请各位处理过这样的问题的给予指教。谢谢,在线急等

解决方案 »

  1.   

    在上面的程序后面先设定HTTP Header
    数据部分如下输出:
    name=abc&password=797979也就是字段名加上等号再加上它的值,多个字段间以&分开,同名的属性的值以~`~分开(中间的字符是键盘上数字1左边的键,如name=abc~`~cde),数据输出完毕以两个换行符结束
    注意:&"<>这四个符号出现在值中时要进行转换(同xml中的)
      

  2.   

    我认为不如用个jsp嵌套来实现更好,而且方便!你们认为呢?
      

  3.   

    比如所我想发送一个字符串 str给serlvet那我后面应该怎么写呢?
    请指教
      

  4.   

    to accpcj(飘香一剑)楼主用的是客户端程序,不是运行在servlet容器中的!
      

  5.   

    我只能实现,没有选择的余地,我们就是要求用java的client通过这种方式实现请求和数据传送
      

  6.   

    发送一个字符串时只可以这样输出:
    str=fdsalfdslafds这样在servlet中可以通过request.getParameter("str")来得到这个值
      

  7.   

    sorry,记错了,头要自己写入,写入所有的头后要输出两个换行符,如Accept: */*str=sfdsafds你可以在网上找一下关于http协议的内容
      

  8.   

    给你一个例子   try {
            // Construct data
            String data = URLEncoder.encode("key1", "UTF-8") + "=" + URLEncoder.encode("value1", "UTF-8");
            data += "&" + URLEncoder.encode("key2", "UTF-8") + "=" + URLEncoder.encode("value2", "UTF-8");
        
            // Send data
            URL url = new URL("http://hostname:80/cgi");
            URLConnection conn = url.openConnection();
            conn.setDoOutput(true);
            OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
            wr.write(data);
            wr.flush();
        
            // Get the response
            BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String line;
            while ((line = rd.readLine()) != null) {
                // Process line...
            }
            wr.close();
            rd.close();
        } catch (Exception e) {
        }
      

  9.   

    谢谢蓝狐,我会试一下。我最后是使用了httpclient那个包实现的,很方便。散分