艾米丽宏
2018-06-23 17:04
为什么重定向路径需要加上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");
}
加上了就可以和后面的/main.jsp组成绝对完整路径,成为一个url地址,而且重定向是面向全网络,需要完整url才能到其它服务器的服务页面,转发是单个服务内部资源页面的跳转,不需要完整路径。
Java Web开发技术应用——过滤器
70489 学习 · 259 问题
相似问题