我有一个用Java编写的基本Web应用程序,在我的localhost上的tomcat上运行。目前它只是一个带有单个servlet的简单应用程序,我可以从浏览器访问它。在localhost上它运行正常,但是当我尝试通过LAN从另一台机器访问它时,它不会返回预期的结果。
我的servlet代码是
package demo;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletOutputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloServlet extends HttpServlet{
@Override
public void init() throws ServletException {
super.init();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String fname=req.getParameter("fname");
String lname=req.getParameter("lname");
ServletOutputStream pw=resp.getOutputStream();
pw.println("Hello"+" "+fname+" "+lname);
pw.close();
}
@Override
public void destroy() {
super.destroy();
}
}
我的web.xml代码是
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" version="2.4">
<servlet>
<servlet-name>n1</servlet-name>
<servlet-class>demo.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>n1</servlet-name>
<url-pattern>/myapp</url-pattern>
</servlet-mapping>
我的HTML表单代码是
<html>
<body>
<form method="post" action="http://localhost:8080/app1/myapp" name="myform">
<br />FirstName:<input type="text" name="fname" />
<br />LastName:<input type="text" name="lname" />
<br />
<input type="submit" value="Submit Form" />
<input type="reset" value="Reset" />
</form>
</body>
我使用http://localhost:8080/app1/htmls/a.html
当我使用相同的地址从另一台机器访问该表单时,浏览器会显示该表单,但在我单击“提交”按钮后,浏览器将返回“未找到网页”。
答案 0 :(得分:1)
帖子操作转到localhost! 再试一次:
<form method="post" action="/app1/myapp" name="myform">