servletshttp-status-code-404

The requested resource is not available using HelloWorld servlet


I am writing a Java Servlet, and I am struggling to get a simple HelloWorld example to work properly.

Error 404: The requested resource is not available using HelloWorld servlet

The HelloWorld.java class is:

package crunch;

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

public class HelloWorld extends HttpServlet {
  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
      throws ServletException, IOException {
    PrintWriter out = response.getWriter();
    out.println("Hello World");
  }
}

I am running Tomcat v7.0, and I have already read similar questions with responses referring to changing the servlet-mapping section in web.xml. This section actually doesn't exist in mine, and when I added it the same problem still occurred.


Solution

  • Try this (if the Java EE V6)

    package crunch;
    
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    
    @WebServlet(name="hello",urlPatterns={"/hello"}) // added this line
    
    public class HelloWorld extends HttpServlet {
      public void doGet(HttpServletRequest request,
                        HttpServletResponse response)
          throws ServletException, IOException {
        PrintWriter out = response.getWriter();
        out.println("Hello World");
      }
    }
    

    now reach the servlet by http://127.0.0.1:8080/yourapp/hello

    where 8080 is default Tomcat port, and yourapp is the context name of your applciation