<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

    主站蜘蛛池模板: 免费人成在线观看69式小视频| jizz免费在线观看| 日韩精品无码免费一区二区三区 | 国产精品福利片免费看| 国产免费久久精品| 香蕉国产在线观看免费| 日本亚洲免费无线码| 西西大胆无码视频免费| 亚洲最大福利视频| 夫妻免费无码V看片| 亚洲av无码无线在线观看| a级毛片毛片免费观看久潮| 免费被黄网站在观看| 成a人片亚洲日本久久| 亚洲日韩VA无码中文字幕| 一个人免费观看日本www视频| 国产乱辈通伦影片在线播放亚洲| 国产男女爽爽爽免费视频 | 最近国语视频在线观看免费播放 | 亚洲综合国产精品第一页| a级黄色毛片免费播放视频| 亚洲人成网址在线观看| 特级一级毛片免费看| 亚洲国产另类久久久精品小说 | 亚洲AV成人精品日韩一区| 午夜亚洲av永久无码精品| 欧洲美女大片免费播放器视频| 国产亚洲AV手机在线观看| 亚洲AV无码成人精品区日韩| 亚洲精品成人久久久| 无码日韩精品一区二区免费暖暖| 国产人成亚洲第一网站在线播放| 亚洲精品tv久久久久| 性色午夜视频免费男人的天堂| 99热亚洲色精品国产88| 亚洲国产专区一区| www.免费在线观看| 永久免费无码网站在线观看个| 亚洲视频一区在线播放| 波多野结衣一区二区免费视频| 免费毛片a线观看|