在調用Servlet之前,Tomcat 7中有任何方法可以讀取和修改GET和POST請求參數嗎?Tomcat中的Servlet之前的讀/寫請求參數7
到目前爲止,我已經找到了閥門和過濾器的概念,但在我的情況下,他們有幾個問題:
1)似乎有沒有辦法從閥/過濾器右側發送一個響應,而不調用Servlet的
2)請求卸載閥已從Tomcat 7中刪除,因此如果我只想爲一個應用程序處理請求參數,我需要使用過濾器。
3)如何安全地更改請求參數?
有沒有解決方法?代碼示例將非常感謝!
在調用Servlet之前,Tomcat 7中有任何方法可以讀取和修改GET和POST請求參數嗎?Tomcat中的Servlet之前的讀/寫請求參數7
到目前爲止,我已經找到了閥門和過濾器的概念,但在我的情況下,他們有幾個問題:
1)似乎有沒有辦法從閥/過濾器右側發送一個響應,而不調用Servlet的
2)請求卸載閥已從Tomcat 7中刪除,因此如果我只想爲一個應用程序處理請求參數,我需要使用過濾器。
3)如何安全地更改請求參數?
有沒有解決方法?代碼示例將非常感謝!
1)似乎有沒有辦法從閥/過濾器右側發送一個響應,而不調用Servlet的
這不是真的。只需直接寫入response.getWriter()
或getOutputStream()
而不需要繼續閥門/過濾器鏈條(即:而不是請致電chain.doFilter(req, res)
)。
2)請求自卸車閥被從Tomcat 7除去,因此,如果欲處理請求參數只有一個應用程序我需要使用過濾器。
這確實被替換RequestDumperFilter
它允許您在Web應用程序級別而不是在服務器級別進行註冊(即在你的webapp的web.xml
)。另見Tomcat documentation。
我只是不知道如何準確上述有關修改請求。但對於這種情況,你通常使用HttpServletRequestWrapper
。