JSP中“转发”和“重定向”的区别

 

重新过一遍javaweb,有些细节问题之前没注意过印象也不深,现在重新记录一遍。

 

 

重定向:客户端行为,通过response.sendRedirect()实现

转发:服务器行为,通过request.getRequestDispatcher().forward(req,resp)实现

 

区别:

  • 路径不同
  • 数据保存不同
  • 请求次数不同

路径

重定向路径:重定向的过程是客户端->服务器(one.jsp)->客户端->服务器(two.jsp),所以重定向的路径是会变化的,路径中的根路径是不变的,但是jsp页面会由jsp1编程jsp2

例如由   http://localhost:8080/test_three/Login/one.jsp   转变成   http://localhost:8080/test_three/Login/tow.jsp

JSP中“转发”和“重定向”的区别

转发路径:转发的过程是客户端->服务器:(one.jsp->two.jsp),所以转发的路径是不变的,也就是路径会一直停在one.jsp

JSP中“转发”和“重定向”的区别

数据保存

重定向数据不保存,丢失

转发数据依然存在,不同jsp页面间数据可以共享

请求次数

重定向客户端向服务端请求两次

转发客户端向服务端请求一次