<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 閱讀(1160) 評論(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 內(nèi)容是否為空,為空則沒有登錄,轉(zhuǎn)發(fā)到登錄頁面, 如果不為空,則分發(fā)請求。
     * @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頁面[未登錄]  回復(fù)  更多評論   

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

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     

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

    Copyright © wind_miao

    主站蜘蛛池模板: 中文字幕高清免费不卡视频| av无码国产在线看免费网站| 久青草视频在线观看免费| 日韩精品无码免费专区午夜| 又黄又爽又成人免费视频| 亚洲精品456播放| 亚洲精品无码久久久久久久 | 新最免费影视大全在线播放| 久久国产精品免费观看| 日韩高清免费在线观看| 亚洲日韩精品射精日| 亚洲色大成网站www尤物| 一级毛片免费全部播放| 四虎永久在线精品免费观看视频| 久久精品亚洲日本佐佐木明希| 国产亚洲视频在线观看网址| 亚洲成人免费在线观看| 国产亚洲精品a在线无码| 亚洲国产成人AV网站| 91情侣在线精品国产免费| 亚洲真人日本在线| 久久精品亚洲日本波多野结衣 | 野花香在线视频免费观看大全| 在线观看视频免费国语| 亚洲欧洲在线观看| 国产精品一区二区三区免费| 国内外成人免费视频| 国产综合成人亚洲区| 国产福利电影一区二区三区,亚洲国模精品一区 | 黄网站色视频免费看无下截 | 国产a不卡片精品免费观看| 亚洲美女激情视频| 国产真人无码作爱视频免费| 久久亚洲精品人成综合网| 久久久久久久久久久免费精品| 亚洲av永久无码精品网站| 免费在线视频你懂的| 久久亚洲精品国产精品| 成年人免费视频观看| 亚洲人成电影网站久久| 丁香花免费高清视频完整版|