2012-04-29 32 views
1

我書面方式web應用程序應該能夠處理的請求如下: 本地主機:8080/WeddingApp /報告TID = 1自定義服務器錯誤代碼的Spring MVC和tomcat的

我想,在情況下,服務器得到如下請求: 本地主機:8080/WeddingApp /報告 本地主機:8080/WeddingApp /報告TID =

發出錯誤五百分之四百零四而不是默認的400不僅改變了頁面錯誤400重定向到,但要更改從服務器擷取的錯誤代碼。

這怎麼能實現?

謝謝:)

回答

0

如果你的代碼查找請求參數tid,設置響應狀態所需的代碼是這樣的:

response.setStatus(404); 

哪裏response是你的servlet類HttpServletResponse

import java.io.*; 
import javax.servlet.*; 
import javax.servlet.http.*; 

public class ServletExample extends HttpServlet { 
    private void doGetOrPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    // ~~~ your code snippet ~~~ 
    String value = request.getParameter("tid"); 
    if (value == null) { 
     response.setStatus(404); 
    } else { 
     // do something 
    } 
    } 
} 
+0

我使用帶有@RequestMapping註釋的多流控制器。我的代碼實際上看起來如下所示: @RequestMapping(「report」) public String report(Model model,@RequestParam(required = false)Integer tid){...} – LmSNe

+0

這個概念是相同的--HttpServletResponse對象是仍然可以在春天訪問 - 你如何操縱它取決於你。 – Mikaveli

相關問題