找不到错误404 - 来自JSP的servlet

时间:2015-08-21 20:56:07

标签: servlets http-status-code-404

我有一个简单的随机数生成器。我试图使用带有表单的servlet。第一页就好了。按下按钮获取随机数后,我得到'HTTP状态404 - Not_Found'请求的资源不可用。

我找了一些我可能输错的内容,或者遗漏了任何':'等等。 这一切对我来说都很好,所以我希望有人可以把不同的眼睛放在上面,也许告诉我我是一个菜鸟。

这是我的JSP文件:

<%@page import="java.util.*"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<HTML>
<HEAD><TITLE>Random Numbers Page</TITLE></HEAD>
<BODY BGCOLOR="white">
<H1>Random Numbers Page</h1>
<P>This will display 20 random numbers </P>
<FORM METHOD=POST         ACTION="${pageContext.request.contextPath}/randomNumberServlet">
<BR>
<INPUT TYPE="SUBMIT" VALUE="Get Numbers Here">
</FORM>
</BODY>
</HTML>

这是我的servlet:

import java.io.*;
import java.util.Random;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class randomNumberServlet extends HttpServlet {
protected final int DEFAULT_NUMBER = 20;

 /** Called when the form is filled in by the user.
 * @param req
 * @param resp
 * @throws java.io.IOException */
 @Override
 public void doPost(HttpServletRequest req, HttpServletResponse resp)
 throws IOException {
resp.setContentType("text/html");
PrintWriter out = resp.getWriter( );

// HTML setup stuff.
out.println("<HTML>");
out.println("<HEAD>");
out.println("<BODY BGCOLOR=\"white\">");

// HTML for this page
out.println("<TITLE>Random Numbers</TITLE>");
out.println("<P>Here are the 20  random numbers,");

// Now actually generate some random numbers.
// Now actually generate some random numbers.
Random r = new Random(100);
for (int i=0; i<20; i++) {
  out.print("<LI>");
  out.println(r.nextInt());  

out.println("</OL>");
}
}
}

1 个答案:

答案 0 :(得分:0)

最有可能的是url mapping / randomNumberServlet没有指向randomNumberServlet servlet。 您有两个选择:

  1. 在您的网站xml define your servlet and a URL mapping
  2. 或者,如果您的servlet容器是Servlet 3.0规范投诉,则可以使用Servlet Annotations
  3. 这是一个Servlet Annotation示例:

    @WebServlet(name="randomNumberServlet", urlPatterns={"/randomNumberServlet"}) 
    public class randomNumberServlet extends HttpServlet { ... }