HTTP 状态 404 - 为什么服务器找不到我映射到的 servlet?
HTTP Status 404 - Why server can't find my servlet I mapped to?
首先,如果这个问题有点长,请见谅。我保证代码非常简单且易于阅读。
我使用 Servlets 制作了一个非常简单的应用程序。它有 form,其中 user 选择啤酒颜色。它应该把他带到 servlet 我映射到使用 XML。 Servlet 应该只发送一个 响应 并打印用户选择的颜色。
不幸的是,我在某处有一个错误,我无法理解在哪里。有人可以帮助我吗,因为我真的被困住了?
这是我的三个文件:
form.html:
<!DOCTYPE html>
<html>
<body>
<form action="SelectBeer.do" method="POST">
Color:
<select name="color">
<option>light</option>
<option>amber</option>
<option>brown</option>
<option>dark</option>
</select>
<button>Submit</button>
</form>
</body>
</html>
BeerSelect.java servlet:
package com.example.web;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class BeerSelect extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
String color = req.getParameter("color");
out.println("Selected: " + color);
}
}
web.xml,我用来作图的:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>MyBeerApp</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>com.example.web.BeerSelect</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/SelectBeer.do</url-pattern>
</servlet-mapping>
</web-app>
最后,我将从我的项目结构中为您提供ss。再次提前感谢任何试图提供帮助的人。这对我来说意义重大!
P.S。表单运行正常,但是当我提交时,出现 404 错误。
我认为您的代码没有错。我已经尝试了 运行,结果如您所愿。
@Stefan 这是我的项目结构。我发现它和你有点不同。
首先,如果这个问题有点长,请见谅。我保证代码非常简单且易于阅读。
我使用 Servlets 制作了一个非常简单的应用程序。它有 form,其中 user 选择啤酒颜色。它应该把他带到 servlet 我映射到使用 XML。 Servlet 应该只发送一个 响应 并打印用户选择的颜色。
不幸的是,我在某处有一个错误,我无法理解在哪里。有人可以帮助我吗,因为我真的被困住了?
这是我的三个文件:
form.html:
<!DOCTYPE html>
<html>
<body>
<form action="SelectBeer.do" method="POST">
Color:
<select name="color">
<option>light</option>
<option>amber</option>
<option>brown</option>
<option>dark</option>
</select>
<button>Submit</button>
</form>
</body>
</html>
BeerSelect.java servlet:
package com.example.web;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class BeerSelect extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
String color = req.getParameter("color");
out.println("Selected: " + color);
}
}
web.xml,我用来作图的:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>MyBeerApp</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>com.example.web.BeerSelect</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/SelectBeer.do</url-pattern>
</servlet-mapping>
</web-app>
最后,我将从我的项目结构中为您提供ss。再次提前感谢任何试图提供帮助的人。这对我来说意义重大!
P.S。表单运行正常,但是当我提交时,出现 404 错误。
我认为您的代码没有错。我已经尝试了 运行,结果如您所愿。
@Stefan 这是我的项目结构。我发现它和你有点不同。