2012-04-07 50 views
2

我有一个名为HelloServlet的servlet ..创建Servlet时的“HTTP 405”? (doPost方法和实施的doGet)

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

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

一切为了它的servlet进入正常工作,但是当我去我的浏览器在http://localhost:8080/ALTest1/hi访问它,我得到一个错误信息说:

HTTP STATUS 405 - HTTP METHOD GET is not supported by this URL 

...这是奇怪的,因为我有我的HelloServlet.class文件中同时doPostdoGet方法。因此,即使doGet不受支持,我也有doPost方法来处理POST,但它仍然无法工作。

+1

也许现在已经很晚了,但我还没有看到问题。小心向我们展示servlet映射? – Imp 2012-04-07 23:58:50

+0

当然可以!我的servlet映射是:<?XML版本= “1.0”?> \t HiEverybody \t HelloServlet \t HiEverybody \t /HI Alejandro 2012-04-08 00:08:28

回答

8
public void doGet(ServletRequest request, ServletResponse response) 

这应该是HttpServletRequest和HttpServletResponse,就像在doPost中一样。

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

+0

布拉沃!好眼睛(我错过了论点不匹配!)。有关“@Override”的出色建议。伟大的回应! – paulsm4 2012-04-08 00:09:56

+0

感谢这么多!!!!!!!!!!!!!!!!!!!!!!!!!!!上帝祝福你!!! – Alejandro 2012-04-08 00:13:22

0

看来你的servlet java类没有包。对于运行抛出主要方法的普通java程序,如果没有指定包,java类将处于默认包中。但是,对于Web应用程序,您需要在web.xml中指定软件包名称。

+0

我该怎么做?我是servlets的新手 – Alejandro 2012-04-08 00:07:05

相关问题