Fad HTTP Status 404-/beer/SelectBeer.do
Web.xml: 您好,无法解决错误,花了两天多时间解决同一问题。 请帮忙,我有什么错误吗Fad HTTP Status 404-/beer/SelectBeer.do,fad,Fad,Web.xml: 您好,无法解决错误,花了两天多时间解决同一问题。 请帮忙,我有什么错误吗 <?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"
metadata-complete="true">
<display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description>
<servlet>
<servlet-name>beer</servlet-name>
<servlet-class>com.example.web</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>beer</servlet-name>
<url-pattern>/SelectBeer.do</url-pattern>
</servlet-mapping>
</web-app>
欢迎来到Tomcat
欢迎来到Tomcat
啤酒
com.example.web
啤酒
/选择啤酒
Form.html:
<html><body>
<h1 align="center">Beer Selection Page</h1>
<form method="POST" action="SelectBeer.do">
Select beer characteristics<p>
Color:
<select name="color" size="1">
<option value="light"> light </option>
<option value="amber"> amber </option>
<option value="brown"> brown </option>
<option value="dark"> dark </option>
</select>
<br><br>
<center>
<input type="submit" value="ok"></center>
</form></body></html>
BeerSelect.java
package com.example.web;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class BeerSelect extends HttpServlet {
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("Beer Selection Advice<br>");
String c = request.getParameter("color");
out.println("<br>Got beer color " + c);
}
}
啤酒选择页面
选择啤酒特性
颜色:
轻的
琥珀色
棕色的
黑暗的
BeerSelect.java
包com.example.web;
导入javax.servlet.*;
导入javax.servlet.http.*;
导入java.io.*;
公共类BeerSelect扩展了HttpServlet{
public void doPost(HttpServletRequest请求,
HttpServletResponse(响应)
抛出IOException、ServletException{
response.setContentType(“text/html”);
PrintWriter out=response.getWriter();
out.println(“啤酒选择建议
”;
字符串c=request.getParameter(“颜色”);
out.println(“
得到啤酒颜色”+c);
}
}
部署是
C:\ProgramFiles\tomcat\webapps\beer
啤酒里面是form.html和WEB-INF
在WEB\u INF WEB.xml和类中
类内部是com/example/web/BeerSelect.java
我可以登录到locathost:8080/beer/form.html,但当我选择颜色并点击submit时,出现了错误
HTTP Status 404-/beer/SelectBeer.do
我已经编译了BeerSelect.java
类型状态报告
message/beer/SelectBeer.do“
说明请求的资源不可用。
ApacheTomcat/8.0.22我注意到web.xml中的servlet映射将“beer”映射到“com.example.web” 注意,根据我的理解,这应该是'com.example.web.BeerSelect' 目录结构很重要。您需要在Tomcat/webapps/
示例结构可以是:
-啤酒/Form.html
-啤酒/WEB-INF/WEB.xml
-Beer/WEB-INF/com/example/WEB/BeerSelect.class
注意:应该有一个名为WEB-INF而不是WEB\U INF的文件夹,这可能会导致404,因为tomcat在WEB-INF中查找映射(DD) web.xml“…”中的初始语句也可能导致问题。请尝试从Tomcat版本提供的示例中复制该语句 希望有帮助