SpringWeb中攔截器的配置與使用
???在xxx-servlet.xml中
???
?1
<
bean?
id
="urlMapping"
?2
????????class
="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"
>
?3
????????
<
property?
name
="mappings"
>
?4
????????????
<
value
>
?5
????????????????
<!--
?AppTemplate?
-->
?6
????????????????/**/AppTemplate.wc=AppTemplateController
?7
????????????
</
value
>
?8
????????
</
property
>
?9
????
<!--
start?interceptors?
-->
10
????????
<
property?
name
="interceptors"
>
11
????????????
<
list
>
12
????????????????
<
ref?
bean
="testInterceptors"
/>
13
????????????
</
list
>
14
????????
</
property
>
15
????
</
bean
>
16
????
<!--
?interceptors?beans
-->
17
????
<
bean?
id
="testInterceptors"
?class
="net.interceptors.TestInterceptors"
>
18
????
</
bean
>

?2

?3

?4

?5

?6

?7

?8

?9

10

11

12

13

14

15

16

17

18

<!--start interceptors -->配置urlmaping的屬性interceptors它的<ref bean>是自己寫的。只需要繼承HandlerInterceptorAdapter類實(shí)現(xiàn)preHandle方法。這是在controller調(diào)用業(yè)務(wù)邏輯方法前調(diào)用這個(gè)方法。
?1?public?class?TestInterceptors?extends?HandlerInterceptorAdapter?{
?2?????public?boolean?preHandle(HttpServletRequest?request,?HttpServletResponse?response,?Object?handler)?throws?Exception?{
?3?????????Person?person?=?new?Person();
?4?????????BeanUtil.load(person,?request);
?5?????????if(person.getUserName().equalsIgnoreCase("cz")){
?6?????????????return?true;
?7?????????}else{
?8?????????????response.sendRedirect("http://www.baidu.com");
?9?????????????return?false;
10?????????}
11?????????????
12?????}
13?}
14?
?2?????public?boolean?preHandle(HttpServletRequest?request,?HttpServletResponse?response,?Object?handler)?throws?Exception?{
?3?????????Person?person?=?new?Person();
?4?????????BeanUtil.load(person,?request);
?5?????????if(person.getUserName().equalsIgnoreCase("cz")){
?6?????????????return?true;
?7?????????}else{
?8?????????????response.sendRedirect("http://www.baidu.com");
?9?????????????return?false;
10?????????}
11?????????????
12?????}
13?}
14?
這樣就算配置好了。
在前臺頁面調(diào)用的時(shí)候這個(gè)攔截器會(huì)對提交進(jìn)行攔截!
ok , enjoy it!