簡體   English   中英

Java從發布請求中獲取參數

[英]Java get parameters from post request

我目前正在嘗試處理Java中的一些傳入POST請求。

到目前為止,它正在部分工作。 我可以收到請求,但是似乎無法提取與請求一起發送的參數和值。

這是到目前為止我接收請求的Java代碼:

public HybridRemoteReceiver() {

try {
    System.out.println("running...");
    ServerSocket ss = new ServerSocket(3434);

    int i = 0;
    while (true) {
        Socket client = ss.accept();
        BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
        String line;

        while ((line = in.readLine()) != null) {
            if (line.length() == 0)
                break;
            i++;
        }
        in.close();
        client.close();
    }


} catch (Exception e) {
    e.printStackTrace();
}

}

我知道有一個名為HttpServer的類,但這就像Java中不存在此類。

我在Eclipse BTW中使用Java 1.8。

但是,我可以找到HttpExchangeHttpHandler類,但似乎無法使它們正常工作。

基本上,我要實現的是接收與發布請求一起發送的數據,而不將任何內容發送回客戶端。

我真的希望有人能幫助我解決這個問題。

使用Tomcat容器之類的servlet容器。

然后,研究Servlet(擴展HttpServlet),可以使用其GET和POST方法。

這是POST。

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        username = request.getParameter("username");

}

//用戶名是從JSP通過POST發送的參數。

如果要處理HTTP請求,最好的做法是使用Servlet容器,例如Tomcat。 Tomcat不會實現整個Java EE規范,但是會為您提供servlet容器的實現,該容器將能夠輕松處理post請求。 這使您不必重新發明輪子,而使您可以依賴於已納入許多項目的成熟技術。

一旦servlet容器庫位於類路徑上,您就可以使用HttpServletRequest類的類。 您只需站起來一個Servlet容器,然后聲明並映射一個Servlet ,其操作就像調用HttpServletRequest#getParameter()方法一樣簡單。

確實有一個HttpServer類,可以在sun.net.httpserver包中的某個位置找到它。

com.sun軟件包和子軟件包不同, sun軟件包和子軟件包可以安全使用。

編輯:如果願意,您始終可以編寫自己的服務器。 如果您希望這樣做,請確保它遵循定義您將使用的HTTP版本的所有RFC。 某些事情不是必需的,您可以向其拋出501未實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM