<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
    如果要過濾多個(gè)文件夾呢?

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


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

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

    Copyright © wind_miao

    主站蜘蛛池模板: 亚洲男同gay片| 亚洲香蕉在线观看| 一边摸一边桶一边脱免费视频| 在线观看视频免费完整版| 亚洲国产精品日韩在线| 波多野结衣在线免费视频| 亚洲最大中文字幕| 999国内精品永久免费观看| 亚洲成a人片毛片在线| 日本妇人成熟免费中文字幕| 亚洲大尺码专区影院| 黄页免费的网站勿入免费直接进入| 亚洲系列中文字幕| 成人免费激情视频| 亚洲成a人片在线观看天堂无码| 永久免费观看的毛片的网站| 麻豆安全免费网址入口| 久久夜色精品国产亚洲av| 中文无码成人免费视频在线观看| 亚洲妇熟XXXX妇色黄| 18女人腿打开无遮掩免费| 亚洲 欧洲 日韩 综合在线| 日韩成人免费在线| 一级有奶水毛片免费看| 久久久久亚洲av无码专区导航| 免费国产作爱视频网站| 国产精品亚洲а∨天堂2021| 亚洲午夜国产片在线观看| 免费无码又爽又刺激高潮视频| 精品久久久久久亚洲精品| 亚洲 自拍 另类小说综合图区| 怡红院免费全部视频在线视频| 亚洲另类视频在线观看| 四虎影视免费永久在线观看| a级成人毛片免费图片| 亚洲日本久久一区二区va| 九月婷婷亚洲综合在线| 亚洲一区二区在线免费观看| 亚洲精品自偷自拍无码| 亚洲第一极品精品无码久久| 毛片高清视频在线看免费观看|