创建Servlet时"HTTP 405"?(doPost和doGet实现)

Ale*_*dro 2 java servlets

我有一个名为HelloServlet的servlet ..

    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    public class HelloServlet extends HttpServlet
    {
public void doGet(ServletRequest request, ServletResponse response)
throws ServletException, IOException
{


        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        pw.println("<html>");
        pw.println("<head>");
        pw.println("<title> Hello World </title>");
        pw.println("</head>");
        pw.println("<body>");
        pw.println("<h1> Hello, World!</h1>");
        pw.println("</body>");
        pw.println("</html>");
        pw.close();




}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
    doGet(request, response);
}
    }
Run Code Online (Sandbox Code Playgroud)

我把它编译成一个.class文件,然后把它放在我的tomcat目录下C:/tomcat/webapps/ALTest1/WEB-INF/classes/- 我把servlet映射(我把url-pattern作为/hi)和servlet条目放入C:/tomcat/webapps/ALTest1/WEB-INF/web.xml

一切正常,但当我去浏览器访问它时,http://localhost:8080/ALTest1/hi我收到一条错误消息:

HTTP STATUS 405 - HTTP METHOD GET is not supported by this URL
Run Code Online (Sandbox Code Playgroud)

......这很奇怪,因为我都doPostdoGet方法,在我的HelloServlet.class文件.所以,即使doGet不支持,我也有doPost方法来处理POST但它仍然无法正常工作.

Thi*_*ilo 8

 public void doGet(ServletRequest request, ServletResponse response)
Run Code Online (Sandbox Code Playgroud)

那应该是HttpServletRequest和HttpServletResponse,就像在doPost中一样.

总是使用@Override,它会告诉你这个错误.