springmvcフィルタやインターセプタ

 

 

1     < ビーンID = "localeResolver" 
2            クラス= "org.springframework.web.servlet.i18n.SessionLocaleResolver" > </ ビーン> 
3      < MVC:インターセプタ> 
4          <! - <beanクラス= "com.etc.interceptor .LoginInterceptor.etc.interceptor.MyInterceptor "> </ビーン> - > 
5          < ビーンクラス=" org.springframework.web.servlet.i18n.LocaleChangeInterceptor」> </ ビーン> 
6          < MVC:インターセプター> 
7              < MVC:マッピングパス= "/ **" /> 
8             < MVC:除外マッピングパス= "/ログイン" /> 
9              < ビーンクラス= "com.etc.interceptor.LoginInterceptor" /> 
10          </ MVC:インターセプター> 
11      </ MVC:インターセプタ>

 

1      < フィルター> 
2          < フィルタ名> loginFilter </ フィルタ名> 
3          < フィルタクラス> com.etc.fileter.MyFileter </ フィルタリングクラス> 
4      </ フィルタ> 
5      < フィルタマッピング> 
6          < フィルタ-name > loginFilter </ フィルタ名> 
7          < URLパターン> / </ URLパターン> 
8      </ フィルタマッピング>

 

1つの パッケージcom.etc.interceptor。
2  
3  インポートorg.springframework.web.servlet.HandlerInterceptor。
4  インポートorg.springframework.web.servlet.ModelAndView。
5  
6  インポートするjavax.servlet.http.HttpServletRequest。
7  インポートのjavax.servlet.http.HttpServletResponse。
8  インポートjavax.servlet.http.HttpSession。
9  
10  パブリック クラス LoginInterceptorが実装HandlerInterceptor {
 11      @Override
 12      パブリック ブールpreHandle(HttpServletRequestのHttpServletRequestを、HttpServletResponseのHttpServletResponseの、オブジェクトo)をスロー例外{
 13          のHttpSessionセッション= httpServletRequest.getSessionを();
14          であれば(session.getAttribute() "ログイン" == NULL ){
 15              移す際にHttpServletResponse.sendRedirect( "/ログイン" )。
16              リターン はfalse ;
17          } {
 18              のSystem.out.println( "IP:" + httpServletRequest.getRemoteHost()+ "URL" + httpServletRequest.getRequestURL())。
19              リターン 20         }
 21      }
 22  
23      @Override
 24      公共 ボイド postHandle(HttpServletRequestのHttpServletRequestを、HttpServletResponseのHttpServletResponseの、のModelAndViewのModelAndView、Oオブジェクト)スロー例外{
 25  
26      }
 27  
28      @Override
 29      公共 ボイド afterCompletion(HttpServletRequestのHttpServletRequestを、HttpServletResponseのHttpServletResponseの、物体O、例外eを)スロー例外{
 30  
31      }
 32 }

 

1つの パッケージcom.etc.fileter。
2  
3  インポートのjavax.servlet。* ;
4  インポートするjavax.servlet.http.HttpServletRequest。
5  輸入のjavax.servlet.http.HttpServletResponse。
6  インポートjavax.servlet.http.HttpSession。
7  インポートにjava.io.IOException。
8  
9  パブリック クラス MyFileterは実装フィルタ{
 10      @Override
 11      公共 ボイドのinit(に、FilterConfigに、FilterConfig)がスローServletExceptionが{
 12  
13      }
14  
15      @Override
 16      公共 ボイドのdoFilter(のServletRequestのServletRequest、ServletResponseをServletResponseを、フィルターチェーンれるFilterChain)がスローにIOException、ServletExceptionが{
 17  // 实际
18          のHttpServletRequestのHttpServletRequest = (HttpServletRequestの)のServletRequestと、
19          HttpServletResponseのHttpServletResponseの= (HttpServletResponseの)たServletResponse。
20  
21          // 如果调用了这个方法、过滤器就会继承往下执行、
22          HttpSessionのセッション= httpServletRequest.getSession()。
23          もし(session.getAttributeは( "ログイン")==NULL ){
 24              // 没有登陆
25              移す際にHttpServletResponse.sendRedirect( "/ログイン" )。
26              //はfalseを返します。
27          } {
 28              のSystem.out.println( "IP:" + httpServletRequest.getRemoteHost()+ "URL:" + httpServletRequest.getRequestURL())。
29              filterChain.doFilter(のServletRequest、ServletResponseを)。
30              //はtrueを返します。
31          }
 32  
33      }
 34  
35      @Override
 36      公共 ボイドは(破壊){
 37 
38      }
 39 }

 

おすすめ

転載: www.cnblogs.com/LiuOOP/p/11208830.html