我有一個運行在Tomcat中的Java HTTP Servlet。我有一個過濾器正在對請求進行一些預處理。該過濾器包含一些if/else邏輯。 我想根據我的過濾器執行的操作在我的servlet處理代碼(doGet/doPost)中設置一個布爾值。Java Servlet從過濾器傳遞值到Servlet代碼
將此信息從我的過濾器傳遞到我的servlet方法的正確方法是什麼?一個想法是通過setAttribute方法更新請求,但我不確定這是否正確。
我有一個運行在Tomcat中的Java HTTP Servlet。我有一個過濾器正在對請求進行一些預處理。該過濾器包含一些if/else邏輯。 我想根據我的過濾器執行的操作在我的servlet處理代碼(doGet/doPost)中設置一個布爾值。Java Servlet從過濾器傳遞值到Servlet代碼
將此信息從我的過濾器傳遞到我的servlet方法的正確方法是什麼?一個想法是通過setAttribute方法更新請求,但我不確定這是否正確。
在你doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
方法,你可以使用request
對象並設置使用request.setAttribute
方法的屬性,然後使用request.getAttribute
得到它在你的servlet。請參閱文檔:http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#setAttribute(java.lang.String,java.lang.Object)