1 区别
最简单的理解就是转发在浏览器上url不变,重定向会改变,实际转发是在web容器中对sevlet的调用,属于同一请求,所以request和respons都是同样的,重定向等于是向服务器发起了新的http请求
2 使用
转发:request.getRequestDispatcher("Welcome.jsp").forward(request, resp);相对路径从根路径开始,如WebContent
getServletContext().getRequestDispatcher("Welcome.jsp").forward(request, resp);
重定向:resp.sendRedirect("Welcome.jsp");相对路径则是从当前的servlet路径开始
注意:重定向时的路径必须是在url能直接访问的,如果文件是放在WEB-INF下的话必须使用转发