2010-06-23 57 views
2

「HTTP GET方法不受此URL支持」我有以下代碼...通過一個servlet發送字節數,讓

@Override 
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 
     super.doGet(req, resp); 
     final int idValue = Integer.parseInt(req.getParameter("id")); 
     final ProjectRunEntity projectRunEntity = projectDataService.findProjectRunEntity(idValue); 
     try { 
      final byte[] documentAsBytes = wordFileGenerationService.getDocumentAsBytes(projectRunEntity); 
      resp.setContentType("application/msword"); 
      resp.setHeader("Content-Disposition", "inline; filename=example.doc;"); 
      final ServletOutputStream out = resp.getOutputStream(); 
      out.write(documentAsBytes); 
      out.flush(); 
     } catch (Exception e) { 
      throw new RuntimeException(e); 
     } 
    } 

它得到一些字節,這正好是一個word文檔,並將其寫入到servlet的響應。出於某種原因,我得到了我的瀏覽器下面的消息時,我打的網址...

「HTTP狀態405 - HTTP GET方法是 不受此URL支持」

我在Tomcat 6.任何想法?我知道在我的調試器中沒有任何東西在打破,字節被寫入響應的輸出流。

回答

2

該狀態在super.doGet(...)中設置。請刪除該電話。

3

我想這個錯誤是由默認的doGet實現引起的(當你調用super.doGet(req, resp)時)。

1

我不得不刪除這條線......

super.doGet(req, resp); 
2

的do {的Http-方法}方法必須被覆蓋。他們的默認實現是「不支持」。無需調用super.do {http-Method}

相關問題