亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

內部轉發為什么沒有執行dofilter()方法

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

System.out.println("start----doFilter--FirstFilter");

//chain.doFilter(request, response);

HttpServletRequest req =(HttpServletRequest) request;

HttpServletResponse response2 =(HttpServletResponse) response;

//重定向

// response2.sendRedirect(req.getContextPath()+"/index.jsp");

//轉發

req.getRequestDispatcher("index.jsp").forward(request, response);

// req.getRequestDispatcher("main.jsp").include(request, response);

System.out.println("end------doFilter--FirstFilter");

}

配置文件:

<welcome-file-list>

? ? <welcome-file>index.jsp</welcome-file>

? </welcome-file-list>

? <filter>

? ? ? <filter-name>Filter</filter-name>

? ? ? ?<filter-class>FirstFilter.firstFilter</filter-class>

? ? ??

? ? ? ? ?</filter>

? <!--

? <filter-mapping>

? ?<filter-name>Filter</filter-name>

? ?<url-pattern>/index.jsp</url-pattern>

? ? <dispatcher>REQUEST</dispatcher> ?

? </filter-mapping>

? -->

? ?<filter-mapping>

? ?<filter-name>Filter</filter-name>

? ?<url-pattern>/index.jsp</url-pattern>

? ? <dispatcher>FORWARD</dispatcher> ?

? </filter-mapping>

</web-app>

控制臺執行了init() ?但是執行index.jsp并沒有打印dofilter方法

正在回答

3 回答

1)因為請求轉發,地址不變還是index.jsp ?即使Forward到了main.jsp 也不會起作用;

這種情況除非你把main.jsp的監聽改成Forward這樣即使url不變,forward行為還是會被監聽,然后又轉發,死循環報錯;

2)因為請求重定向,所以地址會改變,然后監聽器都會調用

1 回復 有任何疑惑可以回復我~

過濾器名字可以和類不一樣的

0 回復 有任何疑惑可以回復我~

把?<filter-name>Filter</filter-name>統一改成<filter-name>firstFilter</filter-name>跟你的類名一致

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

內部轉發為什么沒有執行dofilter()方法

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號