2013年1月14日 星期一

Filter Declaration Order

在J2EE的世界中有越來越多的Framework都使用Filter做為整個功能的入口,但是這些Filter的宣告其實是有前後順序的,如果順序錯了,往往就會造成無法check的錯誤,在這裡我們列舉幾個常用的Filter,並且列出建議的宣告順序。
  1. org.springframework.web.filter.CharacterEncodingFilter
  2. org.springframework.web.filter.DelegatingFilterProxy (Spring Security)
  3. org.springframework.orm.hibernate4.support.OpenSessionInViewFilter
  4. org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter (MVC Framework)
通常和Security有關的放上面,OpenSessionInViewFilter要在render JSP時還必須有效,所以要在MVC Framework前面,所以通常MVC Framework就放在最下面。