<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    沒有登錄不能訪問非index.jsp的JSP頁面

    Posted on 2008-04-10 10:30 wind_miao 閱讀(1161) 評論(1)  編輯  收藏 所屬分類: Servlet&JSP
    loginFilter.java

    /**
     * loginFilter.java
     */
    package myFilter;

    import java.io.IOException;

    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;

    /**
     * 檢查 session 中的 username 內容是否為空,為空則沒有登錄,轉發到登錄頁面, 如果不為空,則分發請求。
     * @author wind
     *
     */
    public class loginFilter implements Filter {
     private String onErrorUrl;

     @Override
     public void destroy() {
      // TODO Auto-generated method stub

     }

     @Override
     public void doFilter(ServletRequest request, ServletResponse response,
       FilterChain chain) throws IOException, ServletException {
      // TODO Auto-generated method stub
      HttpServletRequest req = (HttpServletRequest) request;
      HttpServletResponse res = (HttpServletResponse) response;

      HttpSession session = req.getSession();
      String username = (String) session.getAttribute("username");
      boolean flag = true;

      if (username == null) {
       flag = false;
      } else {

      }
      if (flag) {

       /*
        * Causes the next filter in the chain to be invoked, or if the
        * calling filter is the last filter in the chain, causes the
        * resource at the end of the chain to be invoked.
        */
       chain.doFilter(request, response);
      } else {
       /*
        * Forwards a request from a servlet to JSP file on the server.
        */
       req.getRequestDispatcher(onErrorUrl).forward(req, res);
      }
     }

     @Override
     public void init(FilterConfig filterConfig) throws ServletException {

      /*
       * Returns a String containing the value of the named initialization
       * parameter, or null if the parameter does not exist.
       */
      onErrorUrl = filterConfig.getInitParameter("onError");
      if (onErrorUrl == null || "".equals(onErrorUrl)) {
       onErrorUrl = "/index.jsp";
      }
     }

    }

    web.xml添加以下代碼:
    <filter>
      <filter-name>loginFilter</filter-name>
      <filter-class>myFilter.loginFilter</filter-class>
      <init-param>
       <param-name>onError</param-name>
       <param-value>/index.jsp</param-value>
      </init-param>
     </filter>
     <filter-mapping>
      <filter-name>loginFilter</filter-name>
      <url-pattern>/havesession/*</url-pattern>
     </filter-mapping>

    特別注意:<url-pattern>/havesession/*</url-pattern>這里意思是過濾/havasession/路徑中的所有HTTP請求。

    Feedback

    # re: 沒有登錄不能訪問非index.jsp的JSP頁面[未登錄]  回復  更多評論   

    2012-05-02 18:32 by michael
    如果要過濾多個文件夾呢?

    posts - 1, comments - 3, trackbacks - 0, articles - 7

    Copyright © wind_miao

    主站蜘蛛池模板: 久久精品国产精品亚洲毛片| 国产精品手机在线亚洲| 伊人久久大香线蕉免费视频| 无码人妻精品中文字幕免费| 好大好硬好爽免费视频| 亚洲国产激情在线一区| 免费视频成人国产精品网站| 99爱在线精品视频免费观看9| 午夜色a大片在线观看免费| 国产亚洲精品bv在线观看| 成人毛片免费观看视频| 亚洲V无码一区二区三区四区观看| 又大又硬又粗又黄的视频免费看| 免费精品国偷自产在线在线 | 一区二区视频免费观看| 亚洲日韩精品无码专区网站| 三年片免费高清版| 国产自产拍精品视频免费看| 美女视频黄频a免费观看| 亚洲黄片毛片在线观看| 丁香花在线视频观看免费| 一级毛片在线免费播放| 亚洲无码黄色网址| 国产一级在线免费观看| 亚洲av鲁丝一区二区三区| 一区二区三区精品高清视频免费在线播放| 2048亚洲精品国产| 亚洲电影免费在线观看| 亚洲AV成人影视在线观看 | 亚洲一区二区三区乱码A| 成人网站免费看黄A站视频| 亚洲精品美女久久久久| 日本免费中文字幕| 亚洲人成影院在线无码按摩店| 深夜a级毛片免费视频| 亚洲无线码在线一区观看| 999国内精品永久免费视频| 精品女同一区二区三区免费播放| 国产V亚洲V天堂无码| 成年女人18级毛片毛片免费| 国产视频精品免费视频|