亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

詳解Struts2中對未登錄jsp頁面實現攔截功能

2024-09-05 00:23:25
字體:
來源:轉載
供稿:網友

Struts2中攔截器大家都很經常使用,但是攔截器只能攔截action不能攔截jsp頁面。這個時候就有點尷尬了,按道理來說沒登錄的用戶只能看login界面不能夠通過輸入URL進行界面跳轉,這顯然是不合理的。這里介紹Struts2中Filter實現jsp頁面攔截的功能。(有興趣的人可以去研究Filter過濾器的其它用法,因為利用過濾器也可以實現action攔截的功能)

下面直接上代碼,邊看邊分析實現步驟和原理。

1.web.xml中的配置信息:

<filter>    <filter-name>SessionInvalidate</filter-name>    <filter-class>com.tp.action.SessionCheckFilter</filter-class> //過濾器核心類的class地址   <init-param>     <param-name>checkSessionKey</param-name> //session中需要檢查的key    <param-value>users</param-value>    </init-param>    <init-param>     <param-name>redirectURL</param-name> //過濾重定向的地址    <param-value>/login.jsp</param-value>    </init-param>    <init-param>     <param-name>notCheckURLList</param-name> //不需要過濾的jsp    <param-value>/login.jsp</param-value>    </init-param>   </filter>   <filter-mapping>    <filter-name>SessionInvalidate</filter-name> //需要過濾的文件   <url-pattern>*.jsp</url-pattern>   </filter-mapping> 

這里有幾點需要注意的是:

1.過濾器要盡量放在Struts2配置代碼的上面。

2.在SessionInvalidate中 <url-pattern>*.jsp</url-pattern>  配置非常重要。*.jsp表示只過濾jsp的界面不會把css,js,action一起給過濾了。如果寫成/*就會把所有的東西一起過濾了。包括css,js,action等。所以這個地方一定要看仔細。

3.SessionCheckFilter過濾的核心類:

package com.tp.action; import java.io.IOException;  import java.util.HashSet;  import java.util.Set;  import javax.servlet.Filter;  import javax.servlet.FilterChain;  import javax.servlet.FilterConfig;  import javax.servlet.ServletException;  import javax.servlet.ServletRequest;  import javax.servlet.ServletResponse;  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletResponse;  import javax.servlet.http.HttpSession;  /**  * 用于檢測用戶是否登陸的過濾器,如果未登錄,則重定向到指的登錄頁面 配置參數 checkSessionKey 需檢查的在 Session 中保存的關鍵字  * redirectURL 如果用戶未登錄,則重定向到指定的頁面,URL不包括 ContextPath notCheckURLList  * 不做檢查的URL列表,以分號分開,并且 URL 中不包括 ContextPath  */  public class SessionCheckFilter implements Filter {   protected FilterConfig filterConfig = null;   private String redirectURL = null;   private Set<String> notCheckURLList = new HashSet<String>();   private String sessionKey = null;   @Override   public void destroy() {    notCheckURLList.clear();   }   @Override   public void doFilter(ServletRequest servletRequest,     ServletResponse servletResponse, FilterChain filterChain)     throws IOException, ServletException {    HttpServletRequest request = (HttpServletRequest) servletRequest;    HttpServletResponse response = (HttpServletResponse) servletResponse;    HttpSession session = request.getSession();    if (sessionKey == null) {     filterChain.doFilter(request, response);     return;    }    if ((!checkRequestURIIntNotFilterList(request))      && session.getAttribute("users") == null) {       response.sendRedirect(request.getContextPath() + redirectURL);     return;    }    filterChain.doFilter(servletRequest, servletResponse);   }   private boolean checkRequestURIIntNotFilterList(HttpServletRequest request) {    String uri = request.getServletPath()      + (request.getPathInfo() == null ? "" : request.getPathInfo());    String temp = request.getRequestURI();   temp = temp.substring(request.getContextPath().length() + 1);    // System.out.println("是否包括:"+uri+";"+notCheckURLList+"=="+notCheckURLList.contains(uri));    return notCheckURLList.contains(uri);   }   @Override   public void init(FilterConfig filterConfig) throws ServletException {    this.filterConfig = filterConfig;    redirectURL = filterConfig.getInitParameter("redirectURL");    sessionKey = filterConfig.getInitParameter("checkSessionKey");    String notCheckURLListStr = filterConfig      .getInitParameter("notCheckURLList");    if (notCheckURLListStr != null) {     System.out.println(notCheckURLListStr);     String[] params = notCheckURLListStr.split(",");     for (int i = 0; i < params.length; i++) {      notCheckURLList.add(params[i].trim());     }    }   }  } 

到這里過濾器的功能就實現了。再重申一下web.xml中配置的信息,需要好好檢查檢查因為那里是過濾器是否成功的關鍵。

總結

本文關于詳解Struts2中對未登錄jsp頁面實現攔截功能的介紹就到這里,有什么問題可以隨時留言,小編會及時回復大家。感謝朋友們對VeVb武林網的支持。


注:相關教程知識閱讀請移步到JSP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品无人国产偷自产在线| 欧美黄色小视频| 成人国产亚洲精品a区天堂华泰| 91精品国产免费久久久久久| 欧美大片在线看免费观看| 91av在线不卡| 久热在线中文字幕色999舞| 欧美精品成人91久久久久久久| 97在线视频一区| 亚洲免费人成在线视频观看| 久久精品精品电影网| 日本一区二三区好的精华液| 亚洲无线码在线一区观看| 7777精品视频| 亚洲精品久久久久久久久久久久| 色与欲影视天天看综合网| 欧美精品久久久久久久| 亚洲欧美制服第一页| 国产亚洲美女精品久久久| 91亚洲国产成人久久精品网站| 深夜福利一区二区| 97香蕉久久夜色精品国产| 国产精品久久久久福利| 精品爽片免费看久久| 精品毛片三在线观看| 国产91在线高潮白浆在线观看| 国产欧美精品日韩| 91色视频在线导航| 国产一区二区三区网站| 亚洲国产精品字幕| 日韩在线观看免费高清完整版| 国产精品视频在线观看| 欧美国产日产韩国视频| 亚洲天堂av电影| 91精品国产91久久久久福利| www亚洲精品| 国产精品一区二区在线| 欧美有码在线视频| 中文字幕亚洲精品| 国产精品三级网站| 亚洲性生活视频在线观看| 欧美高清在线视频观看不卡| 精品国产电影一区| 久久精品影视伊人网| 欧美激情一区二区三区久久久| 国产精品入口尤物| 在线观看日韩av| 国产ts人妖一区二区三区| 不卡av在线播放| 国产精品美女午夜av| 国产亚洲成精品久久| 中文字幕欧美日韩在线| 亚洲变态欧美另类捆绑| 日韩欧美中文在线| 欧美午夜激情小视频| 亚洲欧洲国产精品| 国产亚洲欧美日韩精品| 欧美激情一区二区三区高清视频| 欧美疯狂xxxx大交乱88av| 91免费综合在线| 中文国产成人精品久久一| 国产精品欧美激情在线播放| 在线丨暗呦小u女国产精品| 日韩黄色在线免费观看| 红桃av永久久久| 久久艹在线视频| 国产精品久久色| 欧美久久久精品| 国产精品小说在线| 国产在线a不卡| 国内精品久久久久久影视8| 国产a级全部精品| 97不卡在线视频| 久久久久久久久久久久久久久久久久av| 中文字幕精品—区二区| 国产一区二区三区在线观看视频| 欧美精品在线观看91| 国产成人精品久久二区二区| 最新91在线视频| 精品久久久一区二区| 奇米影视亚洲狠狠色| 亚洲电影免费观看高清完整版在线| 国产精品丝袜一区二区三区| 日韩中文字在线| 91在线|亚洲| 亚州精品天堂中文字幕| 久久视频在线直播| 久久福利视频网| 欧美性猛交xxxx黑人猛交| 日韩在线免费高清视频| 精品中文字幕乱| 久久久精品电影| 一区二区成人av| 成人欧美在线视频| 福利视频导航一区| 国产精品96久久久久久又黄又硬| 在线观看免费高清视频97| 国产精品毛片a∨一区二区三区|国| 免费91麻豆精品国产自产在线观看| 夜夜嗨av一区二区三区四区| 成人a在线视频| 欧美日韩在线另类| 欧美一级大片视频| 亚洲一区二区在线| 国产女人精品视频| 亚洲第一黄色网| 日本一区二三区好的精华液| 亚洲国产天堂久久国产91| 日韩精品中文字幕有码专区| 一区二区三区黄色| 久久久久五月天| 68精品国产免费久久久久久婷婷| 亚洲高清一二三区| 成人久久久久爱| 日韩av在线播放资源| 国产精品27p| 日韩精品极品毛片系列视频| 日韩av网站导航| 成人黄色av网站| 亚洲一区www| 亚洲最大成人在线| 国产一区二区三区久久精品| 国内精品视频久久| 中文字幕欧美视频在线| 国产一区在线播放| 久久久人成影片一区二区三区| 国产精品日韩欧美| 亚洲欧美色婷婷| 国产精品久久久久久久久借妻| 欧美激情欧美激情在线五月| 久久成人一区二区| 久久久亚洲精品视频| 国产精品嫩草视频| 日韩激情在线视频| 国产午夜精品免费一区二区三区| 96pao国产成视频永久免费| 国产99久久精品一区二区| 日本久久久久久久久久久| 国产精品一区二区三区免费视频| 国模gogo一区二区大胆私拍| 亚洲欧美国产精品专区久久| 中文字幕综合在线| 国产精品欧美日韩久久| 国产91在线视频| 色阁综合伊人av| 色中色综合影院手机版在线观看| 欧美激情一区二区三区高清视频| 欧美黑人狂野猛交老妇| 福利微拍一区二区| 日韩中文理论片| 国产精品视频一区国模私拍| 伦伦影院午夜日韩欧美限制| 亚洲欧美激情一区| 亚洲欧美日韩视频一区| 欧美精品九九久久| 一区二区三区四区视频| 97国产精品视频| 成人免费观看网址| 亚洲xxxx3d| 欧洲日本亚洲国产区| 欧美高清自拍一区| 久久久久久久网站| 国产精品自拍偷拍视频| 日韩天堂在线视频|