我想用java代码模拟写一个表单,调用一个方法就像form表单点击提交按钮一样,提交到表单指定的servlet。跳到表单指定的action。servletjavaaction

解决方案 »

  1.   

    用servlet不会,不过据说用java的curl jar包可以的。
      

  2.   

    LZ需要的应该就是发送HTTP请求,使用JDK里面的URLConnection就可以,也可以使用开源类库,比如楼上提到的httpclient
      

  3.   

    java.net.HttpURLConnection就可以了
      

  4.   

    httpclient,,,这个很简单的,LZ搜搜吧
      

  5.   


    /**
     * 根据url获得页面源码(post提交)
     * @param url 访问地址
     * @param params 参数列表,比如:name=张三&age=20
     * @return String
     * */ 
    public static String getSoundCode(String url, String params) {
    return getSoundCode(url, "UTF-8", params);
    }
        
        /**
     * 根据url获得页面源码(post提交)
     * @param url 访问地址
     * @param encoding 编码格式
     * @param params 参数列表
     * @return String
     * */ 
    public static String getSoundCode(String url, String encoding, String params) {
    try {
    HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
    connection.setDoOutput(true);
    connection.setRequestMethod("POST");
    //connection.setRequestProperty("User-Agent", "Mozilla/4.7 [en] (Win98; I)");
    if (null != params && !"".equals(params)) {
    params += "&random=" + Math.random();
    } else {
    params = "random=" + Math.random();
    }
    OutputStream os = connection.getOutputStream(); 
    os.write(params.getBytes()); 
    os.close();
    InputStream input = connection.getInputStream();
    InputStreamReader read = new InputStreamReader(input, encoding);
    BufferedReader reader = new BufferedReader(read);
    String line;
            String  result = "";
    while ((line = reader.readLine()) != null) {
    result += line;
    }
    reader.close();
    read.close();
    input.close();
    return result;
    } catch (Exception e) {
    e.printStackTrace();
    }
    return "";
    }
      

  6.   

    /*初始化*/
    String url = "http://localhost:80/service/XChangeServlet?account=001&receiver=a";
    URL realURL = new URL(url);
    URLConnection connection = realURL.openConnection();
    connection.setRequestProperty("Content-type", "text/xml");
    HttpURLConnection con = (HttpURLConnection) connection;
    con.setDoOutput(true);
    con.setRequestMethod("POST");
    System.out.println(">>>>>>>>>>>>> 获得连接" + url);


    // 得到字符串
    // 输出流
    BufferedOutputStream out = new BufferedOutputStream(con.getOutputStream());
    // File file = new File("C:/Documents and Settings/Administrator/桌面/ddd.xml");
    String info = "D:/voucher/JJJ.xml";
    byte[] bs = info.getBytes();
    out.write(bs);
    out.close();
    //获取服务器端返回信息  // 输入流
    InputStream in = new DataInputStream(con.getInputStream());
    byte[] b = new byte[in.available()];
    String s = "";
    in.read(b);
    s = new String(b, "UTF-8");
    System.out.println(s);
      

  7.   

    这个并不能实现像form表单提交指定到action="url"的效果吧。
      

  8.   

    parameters ="";传值,这里要看提交页面的from
    URLEncodedUtils.format(parameters, HTTP.UTF_8));//这是传入的参数
    HttpGet get = getHttpGet(url+ URLEncodedUtils.format(parameters, HTTP.UTF_8));
    responseBody = httpclient.execute(get, responseHandler);