2011-12-29 62 views
0

在調用Servlet之前,Tomcat 7中有任何方法可以讀取和修改GET和POST請求參數嗎?Tomcat中的Servlet之前的讀/寫請求參數7

到目前爲止,我已經找到了閥門和過濾器的概念,但在我的情況下,他們有幾個問題:

1)似乎有沒有辦法從閥/過濾器右側發送一個響應,而不調用Servlet的

2)請求卸載閥已從Tomcat 7中刪除,因此如果我只想爲一個應用程序處理請求參數,我需要使用過濾器。

3)如何安全地更改請求參數?

有沒有解決方法?代碼示例將非常感謝!

回答

1

1)似乎有沒有辦法從閥/過濾器右側發送一個響應,而不調用Servlet的

這不是真的。只需直接寫入response.getWriter()getOutputStream()而不需要繼續閥門/過濾器鏈條(即:而不是請致電chain.doFilter(req, res))。


2)請求自卸車閥被從Tomcat 7除去,因此,如果欲處理請求參數只有一個應用程序我需要使用過濾器。

這確實被替換RequestDumperFilter它允許您在Web應用程序級別而不是在服務器級別進行註冊(即在你的webapp的web.xml)。另見Tomcat documentation


我只是不知道如何準確上述有關修改請求。但對於這種情況,你通常使用HttpServletRequestWrapper