在此學習一些Java Web開發並嘗試啓動我的第一個servlet。但我收到此錯誤:HTTP method GET is not supported by this URL
獲取這兩個HTTP方法GET不受此URL支持,並且HTTP方法POST不受此URL支持
description The specified HTTP method is not allowed for the requested resource (HTTP method GET is not supported by this URL).
我用我的HTML表單的「獲得」的方法,正如你可以看到我已經實現了doGet方法。但我不知道爲什麼我會收到此錯誤。這可能與我的web.xml
有關嗎?
我嘗試使用POST方法,將html方法更改爲'post',並使用doPost方法,但我也得到了等效的錯誤。我只做了這個測試,我不想使用帖子。
的web.xml:
<web-app
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<servlet>
<servlet-name>AppleFox</servlet-name>
<servlet-class>com.AppleFox.web.ProcessQuery</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AppleFox</servlet-name>
<url-pattern>/ProcessQuery.do</url-pattern>
</servlet-mapping>
</web-app>
servlet代碼:
package com.AppleFox.web;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class ProcessQuery
*/
public class ProcessQuery<HttpServletRequest> extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String query = ((ServletRequest) request).getParameter("query");
out.println("Sorry we could find any results for " + query + ".");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
return;
}
}
我也用我的HTML形式的 '得到' 方法。不知道爲什麼我得到這個錯誤。
哇,謝謝!我從未想過這件事。 –