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

首頁 > 編程 > JSP > 正文

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

2020-07-27 21:20:07
字體:
來源:轉載
供稿:網友

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頁面實現攔截功能的介紹就到這里,希望對大家有所幫助。歡迎參閱:struts2開發流程及詳細配置  Struts2修改上傳文件大小限制方法解析等。有什么問題可以隨時留言,小編會及時回復大家。感謝朋友們對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品国产拍免费91在线| 91av国产在线| 国产精品久久久久久亚洲影视| 亚洲tv在线观看| 成人午夜一级二级三级| 欧美精品在线免费播放| 欧美午夜性色大片在线观看| 国产精品一区专区欧美日韩| 97视频在线免费观看| 日韩欧美成人精品| 日韩av中文在线| 欧美性69xxxx肥| 草民午夜欧美限制a级福利片| 亚洲精品久久久久久久久| 国产精品第1页| 欧美xxxwww| 国产精国产精品| 中文字幕久热精品视频在线| 欧美精品福利视频| 欧美裸体xxxx极品少妇| 亚洲综合色激情五月| 久久免费视频网| 亚洲аv电影天堂网| 日韩欧美高清在线视频| 精品福利免费观看| 国产欧美精品日韩精品| 91免费看片在线| 色阁综合伊人av| 色综合91久久精品中文字幕| 日韩成人在线视频网站| 91精品国产91久久久久久吃药| 中文字幕在线观看亚洲| 国产精品青青在线观看爽香蕉| 日韩精品久久久久久福利| 久久精品国产久精国产一老狼| 久久亚洲私人国产精品va| 91爱爱小视频k| 亚洲天堂av高清| 久久乐国产精品| 中文字幕久久亚洲| 91免费精品视频| 欧美超级免费视 在线| 欧美午夜美女看片| 亚洲美女av网站| 国产精品欧美激情在线播放| 成人黄色免费看| 日本精品久久中文字幕佐佐木| 亚洲高清久久久久久| 久久这里有精品| 国产亚洲精品久久久| 日韩美女免费观看| 日韩在线免费高清视频| 91久久精品国产91久久| 日韩欧美在线免费| 欧美日韩中文字幕| 久久福利网址导航| 国产精品久久久久久久久久新婚| 欧洲美女7788成人免费视频| 538国产精品一区二区免费视频| 永久免费毛片在线播放不卡| 国产91在线高潮白浆在线观看| 国产在线a不卡| 在线观看日韩欧美| 人人做人人澡人人爽欧美| 欧美—级高清免费播放| 日韩成人在线视频网站| 久久亚洲精品一区二区| 欧美日韩高清在线观看| 国产精品美女主播在线观看纯欲| 91黑丝在线观看| 国产精品视频不卡| 欧美午夜视频一区二区| 国产亚洲一级高清| 久久久久女教师免费一区| 亚洲精品国精品久久99热| 亚洲第一福利视频| 97高清免费视频| 久久亚洲电影天堂| 亚洲精品视频播放| 亚洲综合在线播放| 欧美国产精品人人做人人爱| 亚洲午夜未满十八勿入免费观看全集| 成人a视频在线观看| 成人免费福利在线| 国产精品久久久久久久av电影| 亚洲精品在线观看www| 国产精品草莓在线免费观看| 国产精品激情自拍| 97人人模人人爽人人喊中文字| 亚洲第一页在线| 性色av一区二区三区红粉影视| 一区二区三区四区精品| 在线精品国产成人综合| 日韩二区三区在线| 日韩欧美亚洲国产一区| 欧美床上激情在线观看| 国产一区二区三区在线| 亚洲美女自拍视频| 欧美人与性动交| 午夜精品视频网站| 久久99精品国产99久久6尤物| 国产精品久久久久久久av大片| 欧美性猛交丰臀xxxxx网站| 性色av一区二区三区红粉影视| 久久久久久噜噜噜久久久精品| 久久久久久午夜| 在线日韩av观看| 成人激情免费在线| 精品成人国产在线观看男人呻吟| 在线免费观看羞羞视频一区二区| 大桥未久av一区二区三区| 亚洲a∨日韩av高清在线观看| 国产欧洲精品视频| 97婷婷大伊香蕉精品视频| 亚洲成人精品在线| 亚洲三级免费看| 亚洲一区二区三区四区视频| 97激碰免费视频| 欧美夜福利tv在线| 91精品国产91久久久久久| 欧美成人剧情片在线观看| 91麻豆国产语对白在线观看| 亚洲午夜精品久久久久久久久久久久| 国产精品久久精品| 91免费在线视频网站| 亚洲第一中文字幕在线观看| 91久久久久久久久久| 色哟哟亚洲精品一区二区| 欧美日韩免费看| 亚洲精品www| 国产精品久久久久久av福利软件| 亚洲小视频在线观看| 亚洲级视频在线观看免费1级| 韩国精品美女www爽爽爽视频| 久久久精品久久| 欧美丰满少妇xxxxx| 久久精品国产96久久久香蕉| 日韩中文字幕网站| 欧美成人激情在线| 欧美午夜影院在线视频| 日韩欧美精品在线观看| 国产精品久久久久久久久免费看| 草民午夜欧美限制a级福利片| 夜夜嗨av色综合久久久综合网| 亚洲毛片在线免费观看| 81精品国产乱码久久久久久| 久久久久久97| 国产免费久久av| 欧美精品激情视频| 亚洲一区制服诱惑| 欧美视频在线视频| 亚洲九九九在线观看| 国产成人精品视频| 亚洲欧洲在线免费| 91牛牛免费视频| 最新亚洲国产精品| 中文字幕国产精品久久| 亚洲成人av片在线观看| 亚洲国内精品在线| 26uuu国产精品视频| 久久精品视频播放| 色伦专区97中文字幕| 欧美重口另类videos人妖| 国产成人精品日本亚洲|