- N +

struts2攔截器詳解?struts2

各位老鐵們好,相信很多人對struts2攔截器詳解都不是特別的了解,因此呢,今天就來為大家分享下關于struts2攔截器詳解以及struts2的問題知識,還望可以幫助大家,解決大家的一些困惑,下面一起來看看吧!

struts.xml配置文件的作用

struts.xml為Struts2的核心配置文件。struts.xml文件主要負責管理應用中的Action映射,以及該Action包含的Result定義等。struts.xml中主要配置Struts項目的一些全局的屬性,用戶請求和響應Action之間的對應關系,以及配置Action中可能用到的參數,以及處理結果的返回頁面。還包括各種攔截器的配置等。

攔截器與servlet和Filter的區別

在struts2中用過filter過濾器,在springmvc中還有攔截器,它們都能過濾請求,但是到底有什么區別呢?一、定義攔截器:是在面向切面編程的就是在你的service或者一個方法,前調用一個方法,或者在方法后調用一個方法比如動態代理就是攔截器的簡單實現,在你調用方法前打印出字符串(或者做其它業務邏輯的操作),也可以在你調用方法后打印出字符串,甚至在你拋出異常的時候做業務邏輯的操作。過濾器:是在javaweb中,你傳入的request、response提前過濾掉一些信息,或者提前設置一些參數,然后再傳入servlet或者struts的action進行業務邏輯,比如過濾掉非法url(不是login.do的地址請求,如果用戶沒有登陸都過濾掉),或者在傳入servlet或者struts的action前統一設置字符集,或者去除掉一些非法字符.。二、xml文件配置1.filter該過濾器的方法是創建一個類XXXFilter實現此接口,并在該類中的doFilter方法中聲明過濾規則,然后在配置文件web.xml中聲明他所過濾的路徑2.Interceptor它也要實現HandlerInterceptor接口,這里只介紹方法注解配置

三、具體區別filterInterceptor多個的執行順序根據filtermapping配置的先后順序按照配置的順序,但是可以通過order控制順序規范在Servlet規范中定義的,是Servlet容器支持的Spring容器內的,是Spring框架支持的。使用范圍只能用于Web程序中既可以用于Web程序,也可以用于Application、Swing程序中。深度Filter在只在Servlet前后起作用攔截器能夠深入到方法前后、異常拋出前后等四、總結兩者的本質區別:攔截器是基于java的反射機制的,而過濾器是基于函數回調。從靈活性上說攔截器功能更強大些,Filter能做的事情,他都能做,而且可以在請求前,請求后執行,比較靈活。Filter主要是針對URL地址做一個編碼的事情、過濾掉沒用的參數、安全校驗(比較泛的,比如登錄不登錄之類),太細的話,還是建議用interceptor。不過還是根據不同情況選擇合適的。

END,本文到此結束,如果可以幫助到大家,還望關注本站哦!

返回列表
上一篇:
下一篇: