java ssh过滤器_SSH中的过滤器,拦截器,监听器的一些基本认识
今天被一個朋友問起在SSH的項目中,過濾器、攔截器、監聽器都分別是什么,又都是干什么用的。結合目前學習到的和自己應用的體會,大概有以下幾個方面。
1.過濾器:顧名思義就是過濾請求內容的,所謂的過濾就是我們可以獲得request對象中的值進行一系列的判斷或者其他的操作。我們可以使其字符集編碼格式改變等。具體的示例代碼看下面的例子。
1 public class MyFilter implementsjavax.servlet.Filter {2 /**
3 * 初始化4 */
5 @Override6 public void init(FilterConfig arg0) throwsServletException {7 }8 /**
9 * 銷毀10 */
11 @Override12 public voiddestroy() {13 }14 /**
15 * 過濾16 */
17 @Override18 public voiddoFilter(ServletRequest arg0, ServletResponse arg1,19 FilterChain arg2) throwsIOException, ServletException {20 arg0.setCharacterEncoding("utf-8"); //設置request對象的字符集格式
21 arg2.doFilter(arg0, arg1); //繼續執行 請求
22 }23 }
這個是Filter實體的代碼,在web.xml文件中我們需要對其需要攔截的請求配置監聽范圍,或者說過濾哪些url。
1
2 myfilter
3 com.mine.test.MyFilter
4
5
6 myfilter
7 /*
8
其實struts2本身就依托于一個總過濾器:
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
/*
2. 攔截器? 我們使用struts預定義過的攔截器時只需要做相應的配置即可,大多數常用的都會在default中有定義,而在struts.xml中不寫就默認使用這個default。當我們自己創建了一個Intercepter對象時我們需要對其進行配置,具體配置的方法這里就不贅述了,戳此處 http://www.blogjava.net/brock/archive/2009/08/20/291919.html? 。攔截器中有三個基本的方法對應其生命周期。
a.初始化? b.執行攔截? c.銷毀。針對action請求進行處理,脫離了servlet API,不處理一般的url請求。
3. 監聽器? 我們常用的監聽器一般會對一些對象進行監聽。比如spring 的總監聽器 會在服務器啟動的時候實例化我們配置的bean對象 、 hibernate 的 session 的監聽器會監聽session的活動和生命周期,負責創建,關閉session等活動。
這里只是一個簡單的認識,歡迎大家表達自己的觀點。?? 郵箱:hpuzyp@163.com?? 歡迎來信交流。
總結
以上是生活随笔為你收集整理的java ssh过滤器_SSH中的过滤器,拦截器,监听器的一些基本认识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java访问器_Java中的访问器方法
- 下一篇: java 反射 ppt_Java反射的基