HTTP状态404 - /beer/SelectBeer.do

时间:2015-05-18 17:07:09

标签: 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/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>

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);
}
}

部署

C:\ Program Files \ tomcat \ webapps \ beer 里面的啤酒是form.html和WEB-INF

在WEB_INF Web.xml和类

内部类是com /example/web/BeerSelect.java

我可以登录到locathost:8080 / beer / form.html但是当我选择颜色并点击提交时发生错误 HTTP状态404 - /beer/SelectBeer.do 我编译了BeerSelect.java

输入状态报告

message /beer/SelectBeer.do“

说明请求的资源不可用。 Apache Tomcat / 8.0.22

1 个答案:

答案 0 :(得分:0)

我注意到你在web.xml中的servlet映射将'beer'映射到'com.example.web' 请注意,根据我的理解,这应该是'com.example.web.BeerSelect'。

目录结构很重要。您需要在Tomcat / webapps /

中创建目录结构

示例结构可以是:
- Beer / Form.html
- 啤酒/ WEB-INF / web.xml
- 啤酒/ WEB-INF / com / example / web / BeerSelect.class

注意:应该有一个名为WEB-INF的文件夹而不是WEB_INF等这可能导致404,导致tomcat在WEB-INF中查找映射(DD)

web.xml'...'中的初始语句也可能导致问题。尝试从Tomcat版本提供的示例中复制该语句。

希望有所帮助