一、请求转发和重定向两者之间的区别
请求转发:一次请求,地址栏信息不变。
重定向:两次请求,地址栏信息会发生改变。
使用时机:
1.如果表单中有数据,而数据又比较重要,不能重复提交,建议使用重定向。
2.如果servlet接受后,无法进行处理,建议使用重定向定位到可以处理的资源。
请求转发:路径为当前项目的根目录,直接书写跳转的资源路径即可。
req.getRequestDispatcher("1.jsp").forward(req, resp);
重定向:/代表服务器地址+服务器的应用目录(类似tomcat的webapps),因此还需要加上/项目名+跳转资源路径。
resp.sendRedirect("/sx/2.jsp");
注意:如果req.getRequestDispatcher("1.jsp").forward(req, resp);写成了req.getRequestDispatcher("1.jsp");则不会跳转。