我有一个名为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)
......这很奇怪,因为我都doPost和doGet方法,在我的HelloServlet.class文件.所以,即使doGet不支持,我也有doPost方法来处理POST但它仍然无法正常工作.
public void doGet(ServletRequest request, ServletResponse response)
Run Code Online (Sandbox Code Playgroud)
那应该是HttpServletRequest和HttpServletResponse,就像在doPost中一样.
总是使用@Override,它会告诉你这个错误.
| 归档时间: |
|
| 查看次数: |
957 次 |
| 最近记录: |