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 }