从html表单发起http post请求并在java中接收该请求

时间:2014-10-09 13:10:23

标签: java html http httprequest

我在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网站的正确请求的那层是什么。

1 个答案:

答案 0 :(得分:0)

Java不是脚本语言,不像php或perl那样工作。在您的服务器中,您应该将请求URI映射到处理代码(例如,在web.xml中)。在您的&lt; form action =&#34; ...&#34;&gt;您应该提供服务器将处理的URI。