非常にシンプルなログイン許可インターセプター、特定のコードは次のとおりです。
次のコードは、ログインフィルタリングを実装するためにandperRequestFilterを継承するコードです。
/ ** * * @author geoin * @date 2012-4-10 2:37:38 pm */ package com.test.spring.filter; java.io.ioexceptionをインポートします。 java.io.printwriterをインポートします。 javax.servlet.filterchainをインポートします。 javax.servlet.servletexceptionをインポートします。 javax.servlet.http.httpservletrequestをインポートします。 javax.servlet.http.httpservletResponseをインポートします。 import org.springframework.web.filter.onceperRequestFilter; /** *ログインフィルター * * @authorgeoin * @date 2012-4-10 2:37:38 pm * /public classfilterはwundperrequestfilter { / * *(nonjavadoc) * * @see * org.springframework.web.filter.onceperRequeltefilter javax.servlet.http.httpservletrequest、 * javax.servlet.http.httpservletresponse、javax.servlet.filterchain) */ @override保護されたボイドdofilterinternal(httpservletrequestリクエスト、httpservletredreconseponsepresceainのリクエスト) ioException {//しかし、uri string [] notfilter = new String [] {"login.html"、 "index.html"}; //要求されたuri string uri = request.getRequesturi(); // if(uri.indexof( "background")!= -1){// boolean dofilter = trueをフィルタリングするかどうか。 for(string s:notfilter){if(uri.indexof(s)!= -1){// uriがフィルター処理されていないuri、dofilter = false;壊す; }} if(dofilter){//フィルタリング//セッションオブジェクトからログインのエンティティを取得obj = request.getSession()。 if(null == obj){//ログインエンティティがセッションに存在しない場合、ポップアップボックスが再度ログインするようにプロンプトします// requestの文字セットと応答のセットを設定して、requent.setcharacterencoding( "utf-8"); Response.setcharacterencoding( "utf-8"); printwriter out = response.getWriter();文字列loginpage = "...."; stringbuilder builder = new StringBuilder(); builder.append( "<script type =/" text/javascript/">"); builder.append( "alert( 'Webページが期限切れ、もう一度ログインしてください!');"); builder.append( "window.top.location.href = '"); Builder.Append(loginpage); Builder.Append( "';"); Builder.Append( "</script>"); out.print(builder.toString()); } else {//ログインエンティティがセッションに存在する場合、filterchain.dofilter(request、response)を継続します。 }} else {//フィルタリングが実行されていない場合は、filterchain.dofilter(request、response)を続行します。 }} else {// uriに背景が含まれていない場合、filterchain.dofilter(request、response)を継続します。 }}}フィルターを書いた後、Web.xmlで構成する必要があります。
<filter> <filter-name> sessionfilter </filter-name> <filter-class> com.test.spring.filter.sessionfilter </filter-class> </filter> <filter-mapping> <filter-name> sessionfilter </filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。