我在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网站的正确请求的那层是什么。
答案 0 :(得分:0)
Java不是脚本语言,不像php或perl那样工作。在您的服务器中,您应该将请求URI映射到处理代码(例如,在web.xml中)。在您的&lt; form action =&#34; ...&#34;&gt;您应该提供服务器将处理的URI。