我正在尝试学习JSP servlet ...所以我试着在headfirst JSP和Servlets中实现第一个例子。 我为我的表单和servlet以及web.xml编写了以下代码。 FORM:
<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>
<input type="submit"></input>
</form>
</body>
</html>
SERVLET:
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);
}
}
WEB.XML:
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<servlet>
<servlet-name>Ch3 Beer</servlet-name>
<servlet-class>com.example.web.beerSelect</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Ch3 Beer</servlet-name>
<url-pattern>/SelectBeer.do</url-pattern>
</servlet-mapping>
</web-app>
在名为BeerV1的webapps文件夹中的apache tomacat 7.0.05中部署它。表单放在beerV1中,web.xml
放在WEB-INF
中,servlet类文件放在D:\apache-tomcat-7.0.50\webapps\beerV1\WEB-INF\classes\com\example\web
当我点击网址时:localhost:8080/beerV1/form.html
我收到表单,但是当我选择一种颜色并点击提交时,我会得到一个404.
我尝试了很多网站以获得解决方案,但没有得到任何解决方案。我知道这是一个非常基本的例子,但请帮我解决这个问题。