【问题标题】:initiating http post request from html form and receiving that request in java从 html 表单发起 http post 请求并在 java 中接收该请求
【发布时间】:2014-10-09 13:10:23
【问题描述】:

我在 java 中运行一个简单的 web 服务器,它在我的机器上的端口 8080 上运行,服务器确实接收来自浏览器的请求(当我写这个 URL (localhost:8080) 时)但是我想接收请求来自这个html页面

  <!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <form method="post" action="192.168.1.1:8080">
            <input type="text" name ="txt">
            <input type="submit" name="sub">
        </form>
    </body>
</html>

结果是网页无法显示

我的第二次尝试是这样的

<!DOCTYPE html>
    <html>
        <head>
            <title></title>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        </head>
        <body>
            <form method="post" action="server.java">
                <input type="text" name ="txt">
                <input type="submit" name="sub">
            </form>
        </body>
    </html>

点击提交按钮后,它打开了下载对话框(下载 server.java)。

但是我设法在 java 中自己发起了一个请求

Socket socket = new Socket("localhost",8080);
    String request = "get / http/1.1";
    OutputStream os = socket.getOutputStream();
    os.write(request.getBytes());
    os.flush();
    os.close();

并且我的服务器收到了没有问题的请求,我不确定我在这里缺少什么以及向 php 网站发起正确请求的那个层是什么。

【问题讨论】:

  • 编写 Web 服务器并非易事,尤其是在您对 HTTP 没有充分了解的情况下。如果您不给我们一行代码,我们将如何调试您的服务器代码??
  • 你真的不需要看我的网络服务器代码,因为我的问题是我提到的从 html 发起请求。
  • 至少第二个示例应该给您一个提示,即 POST 请求发生了一些事情。再说一次,你可能是地球上唯一知道那里发生了什么的人。

标签: java html http httprequest


【解决方案1】:

Java 不是脚本语言,它不像 php 或 perl 那样工作。在您的服务器中,您应该将请求 URI 映射到处理代码(例如在 web.xml 中)。在你的

你应该提供一个你的服务器将处理的 URI。

【讨论】:

    猜你喜欢
    • 2011-03-03
    • 2011-03-20
    • 2013-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多