我有一个名为 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);
}
}
我将它编译成一个.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
...这很奇怪,因为我的文件中既有方法doPost
又有doGet
方法HelloServlet.class
。因此,即使doGet
不支持,我也有 doPost 方法来处理 POST,但它仍然无法正常工作。