2011-05-04 105 views
6

我正在受到錯誤的支持,你能幫HTTP GET方法不受此URL

的servlet

public class FirstClass extends HttpServlet { 

    private static final long serialVersionUID = 1L; 

    public void doGet(HttpServletResponse response, HttpServletRequest request) throws IOException, ServletException { 
     PrintWriter out = response.getWriter(); 
     out.println("this is a sample"); 
     out.flush(); 
    } 

    public void doPost(HttpServletResponse response, HttpServletRequest request) throws IOException, ServletException { 
     PrintWriter out = response.getWriter(); 
     out.println("this is a sample"); 
     out.flush(); 
    } 
} 

的web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app id="WebApp_ID" version="2.4" 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 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
    <display-name>hii</display-name> 

    <servlet> 
     <servlet-name>First</servlet-name> 
     <servlet-class>test.FirstClass</servlet-class> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>First</servlet-name> 
     <url-pattern>/first.do</url-pattern> 
    </servlet-mapping> 

    <welcome-file-list> 
     <welcome-file>index.html</welcome-file> 
    </welcome-file-list> 
</web-app> 

的index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Insert title here</title> 
</head> 
<body> 
    <a href="first.do">Click Me</a> 
</body> 
</html> 

回答

12

你得的參數以錯誤的方式 - 它應該是第一個要求,那麼響應,就像這樣:

public void doGet(HttpServletRequest request, HttpServletResponse response) 
    throws IOException, ServletException { 

所以目前你沒有真正覆蓋超類方法。

這就是爲什麼@Override註釋非常重要 - 它可以讓你在編譯時找到這樣的錯誤。如果你用@Override修飾了你的方法,編譯器會發現你試圖覆蓋一個不存在的方法簽名。

+0

是的...例如,該電話是在Java的doGet(請求,響應)Google AppEngine – Paul 2011-05-04 06:46:17

+0

謝謝...將進一步照顧,進一步解決問題 – user1448652 2011-05-04 06:47:15

0

它是否也失敗了PO ST?

應該不是<servlet-class>test.FirstClass<servlet-class>FirstClass而不是?

+0

測試是定義類的包 – user1448652 2011-05-04 06:44:22

+0

嗯,那部分應該沒問題。我也懷疑Jon提到的召喚指令。如果調用順序錯誤,則POST不起作用。 – Paul 2011-05-04 06:48:11

+0

雅我糾正它..感謝 – user1448652 2011-05-04 07:16:55