Spring學習日記第六天 SpringMVC

2021-09-29 02:35:28 字數 2193 閱讀 1342

springmvc中的***和過濾器相似,但是過濾器是在服務端向後台傳送請求時攔截,而***是在**控制器在處理請求做對映之前。

1、controller

先設定乙個controller層的方法,我們通過呼叫這個方法的時候來體現***。

@controller

public class intercontroller

}

2、***

然後我們再寫個***的方法,他需要繼承介面handlerinterceptor並實現它的方法

public

class

myintercepter

implements

handlerinterceptor

@override

//posthandle是在控制器放回modelandview之前執行,所以我們可以修改他的modelandview返回資訊

// prehandle在自定義控制器處理請求之前執行, true表示放行,false表示攔截

}

這三個方法中最先執行的是prehandle,他用來控制放行或者是攔截,然後就是 aftercompletion與posthandle 他們是在處理器完成後執行的,他們之間有先後順序,posthandle先於aftercompletion執行。

3、xml配置

<

!-- 配置*** interceptors 是***組,他裡面可以配置多個*** --

>

<

!-- 註冊 --

>

//引用乙個容器中的bean標籤

<

!-- 攔截哪些請求 --

>

"/**"

/>

<

!-- 具體的攔截物件 --

***可以有多個***,如果寫多個***方法,我們只需要在配置檔案中配置多個就行spring是ioc和aop的容器框架,springmvc是基於spring功能之上新增的web框架,想用springmvc必須先依賴spring,所以這裡整合整理一下。

整合這裡我們只需要在web.xml檔案中加入監聽即可

<

!-- 這裡配置spring配置檔案的位置,param-name是固定的,

param-value是檔案位置 這個配置可以省略,如果省略,

系統預設去/

web-

inf/目錄下查詢springa.xml作為spring的配置檔案 --

>

contextconfiglocation<

/param-name>

classpath:springa.xml<

/param-value>

<

/context-param>

class

>org.springframework.web.context.contextloaderlistener<

/listener-

class

>

<

/listener>

這裡contextloaderlistener會比配置的dispatcherservlet先執行。

第六天學習

變數的作用域 區域性變數 在函式內部定義的變數,這個變數只能在函式內部使用,在全域性當中不能使用。使用就報錯了。全域性變數 在函式外部定義的變數,這個變數可以在全域性使用。但是我們一般不推薦使用全域性變數 因為可能會意外的修改掉變數的值。迫不得已不要用全域性變數 衝突處理原則 就近原則。而不是從上到...

學習第六天

還有九天,我就要去參加北大3日遊了。滑稽 像我這樣的蒟蒻去那也就是旅遊模式吧!無所謂了,隨便去考考,說不定有優秀營員呢?滑稽 不可能,絕對不可能 相信自己好了。這麼多天,好像把面試給忘了,雖然有人說面試是瞎 但是還是要準備準備的 明天看吧!還有什麼知識點沒看嗎?我們來看看st表和hash表吧!先看看...

學習android第六天

activity簡介 當在乙個activity中按下返回時,android os會自動銷毀activity物件 當在乙個activity中啟動另乙個activity時,當前activity不會被銷毀,而是被壓入activity棧中 activity的建立 1 自定義類,繼承activity 2 複寫...