为了账号安全,请及时绑定邮箱和手机立即绑定

为什么重定向路径需要加上req.getContextPath(),转发则不加呢?

为什么重定向路径需要加上req.getContextPath()+"/main.jsp",转发则不加req.getContextPath()或去跟路径呢?

================================================

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

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

HttpServletRequest req =(HttpServletRequest) request;

HttpServletResponse response2 =(HttpServletResponse) response;

//重定向

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

//转发

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

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

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

}


正在回答

1 回答

加上了就可以和后面的/main.jsp组成绝对完整路径,成为一个url地址,而且重定向是面向全网络,需要完整url才能到其它服务器的服务页面,转发是单个服务内部资源页面的跳转,不需要完整路径。

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么重定向路径需要加上req.getContextPath(),转发则不加呢?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号