麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

網站過濾器Filter

2019-11-10 20:05:17
字體:
來源:轉載
供稿:網友

——過濾器使用已經很久了,今天遇到了一個小問題,也就想順便寫一個關于過濾器的博文,記錄一下自己使用的感受。

        實際上,Filter與Servlet及其相似,區別只是FIlter的doFilter()方法里多了一個FilterChain的參數,通過該參數可以控制是否放行用戶的請求。網站有了過濾器十分的方便,可以通過過濾器來過濾這個用戶是否已經登陸,如果沒有登陸,那么將限制TA的訪問權限,而且過濾器的設置以及配置都比較簡單。下面通過一個登陸過濾器的代碼簡單說一下過濾器的使用:

[java] view plain copy PRint?/**  *登陸過濾器  */    public class LoginFilter implements Filter {        @Override      public void destroy() {        }      @Override      public void doFilter(ServletRequest req, ServletResponse resp,              FilterChain chain) throws IOException, ServletException {          HttpServletRequest hsq = (HttpServletRequest)req;          //取得session中的loginUser對象          User user = (User)hsq.getSession().getAttribute("loginUser");          if(user==null || "".equals(user)){              //如果用戶沒有登錄,那么將會直接跳轉到登陸頁面              ((HttpServletResponse)resp).getWriter().write("<scrjsp'</script>");  //          ((HttpServletResponse)resp).sendRedirect("/index.jsp");                        }else{              chain.doFilter(req, resp);          }      }      @Override      public void init(FilterConfig arg0) throws ServletException {        }    }   

         上面的這個過濾器就會過濾掉所有未登陸的用戶,讓TA們跳轉到登陸頁面去登陸。如果要這個登陸過濾器起作用,還需要在web.xml文件中進行配置:

[html] view plain copy print?<!-- 配置過濾器 -->    <filter>      <filter-name>LoginFilter</filter-name>      <filter-class>com.common.LoginFilter</filter-class>    </filter>    <filter-mapping>      <filter-name>LoginFilter</filter-name>      <url-pattern>/user/*</url-pattern>    </filter-mapping>           此處表示這個任何用戶訪問/user/*下面的路徑將會通過此過濾器,如果沒有登陸,SESSION中沒有user,那么將會跳轉到登陸頁面。如果需要對多個地址進行配置(在SSM框架中,需要對每個控制器進行配置),那么正確的配置方法是(N個一樣的):

[html] view plain copy print?<filter>      <filter-name>LoginFilter</filter-name>      <filter-class>com.common.LoginFilter</filter-class>    </filter>    <filter-mapping>      <filter-name>LoginFilter</filter-name>      <url-pattern>/user/*</url-pattern>    </filter-mapping>    <filter-mapping>      <filter-name>LoginFilter</filter-name>      <url-pattern>/abc/*</url-pattern>    </filter-mapping>           不知道大家有沒有注意到上面過濾器的這行被注釋的代碼,正常情況下使用此代碼就可以完成跳轉任務:

((HttpServletResponse)resp).sendRedirect("/index.jsp");

         而下面這行代碼是:

((HttpServletResponse)resp).getWriter().write("<script>window.parent.location.href='/index.jsp'</script>");

         最下面這行代碼就是為了解決我這次遇到的小問題的。因為需要調整的頁面是frameset框架的,所以有很多鏈接定義為跳轉到框架下的某個地方,這樣如果使用上面的那種跳轉,將會是局部跳轉,達不到應有的效果,只有使用下面的方式返回一句js代碼,然后執行,整體跳轉,這樣才能滿足效果。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一级黄色免费观看 | 免费久久久久久久 | 国产成人精品网站 | 久久精品操 | 日美av在线| 国产成人在线网址 | 亚洲电影在线观看高清免费 | 92看片淫黄大片一级 | 国产精品久久久久一区二区 | 韩国精品视频在线观看 | 亚洲国产馆 | 欧美日韩精品一区二区三区不卡 | 免费a级片在线观看 | 激情小视频在线观看 | 国产精品成人一区二区三区电影毛片 | 他也色在线视频 | 中文字幕精品一区久久久久 | 久久久久久久.comav | 成人免费一区二区三区 | 国产噜噜噜噜久久久久久久久 | 亚洲欧美日韩久久精品第一区 | 男女无套免费视频 | 久草导航| 中国嫩模一级毛片 | 久久国产乱子伦精品 | 久久久三区 | 黄色aaa视频 | 一区二区三区日韩电影 | av在线1 | pornoⅹxxxxhd麻豆 | 久色免费| 国产成人精品视频在线 | 欧美精品色精品一区二区三区 | 久久精品无码一区二区三区 | 91精品国产乱码久久久久久久久 | gogo全球大胆高清人露出91 | 久久久成人精品视频 | 毛片免费在线播放 | 日本高清com | 午夜视频在线免费播放 | 久久精品女人天堂av |