2013-12-17 57 views
0

Client.java 發送字符串從客戶端的servlet成servlet如何發送字符串從我的java類

String url = "http://localhost:8084/Lab/url"; 

    URL obj = new URL(url); 
    HttpURLConnection con = (HttpURLConnection) obj.openConnection(); 

    // optional default is GET 
    con.setRequestMethod("GET"); 
      con.setDoInput(true); 
      con.setDoOutput(true); 
      dos = new DataOutputStream(con.getOutputStream()); 
      dos.writeBytes(resultJson.toString()); 
    int responseCode = con.getResponseCode(); 
      BufferedReader in = new BufferedReader(new InputStreamReader(
           con.getInputStream())); 
      String inputLine; 
      while ((inputLine = in.readLine()) != null) 
       System.out.println(inputLine); 

      dos.flush(); 
      dos.close(); 
      in.close(); 

的Servlet 獲取值並返回

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
    response.setContentType("text/html;charset=UTF-8"); 
    PrintWriter out = response.getWriter(); 

我不知道下一步該怎麼做。

+0

你想傳遞哪些字符串參數? – SpringLearner

+0

使用'GET'在URL中傳遞參數,也許您需要使用'POST'? –

+0

@JqueryLearner like this {「lol」:5,「lolid」:[1,2,3,4,5]} – olle

回答

1

嘗試以下方法:

  1. 要傳遞的字符串作爲參數,取代String url = "[http://localhost:8084/Lab/url]";String url = "[http://localhost:8084/Lab/url?str=YOURSTRING]";
  2. 在小服務程序,以檢索信息添加:字符串消息話題=的request.getParameter( 「STR」 );


在使用[1] GET我們傳遞 「STR」 參數中包含我們的字符串的URL。 我們使用servlet [2]中的getParameter()來檢索消息。

正如@Anders說,我們也可以做使用POST

我希望這是有益的。

乾杯

PS:網址是W/O []


[更新]
傳遞使用POST

String param = "str=YOURSTRING"; 
    String request = "http://localhost:8084/"; 
    URL url = new URL(request); 
    HttpURLConnection connection = (HttpURLConnection) 
    url.openConnection();   
    connection.setDoOutput(true); 
    connection.setDoInput(true); 
    connection.setInstanceFollowRedirects(false); 
    connection.setRequestMethod("POST"); 
    connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); 
    connection.setRequestProperty("charset", "utf-8"); 
    connection.setRequestProperty("Content-Length", "" + Integer.toString(param.getBytes().length)); 
    connection.setUseCaches (false); 

    DataOutputStream out = new DataOutputStream(connection.getOutputStream()); 
    out.writeBytes(param); 
    out.flush(); 
    out.close(); 
    connection.disconnect(); 
+0

如果您在URL中傳遞參數,那麼使用get方法,您能描述如何在相同的情況下使用post – SpringLearner

+0

要使用HttpURLConnection執行POST,我們在打開連接後將參數寫入連接。 –

+0

我指的是你的答案* [http:// localhost:8084/Lab/url?str = YOURSTRING]「; *並且你在這裏說了*由於@Anders說我們也可以使用POST *做出答案。但不適用於post.Update你的答案,以便發佈也可以幫助用戶瞭解更多 – SpringLearner