servlet中forward和redirect的不同是甚么
在Servlet中,forward和redirect是两种区分的页面跳转方式。
1. Forward(转发):
- forward是服务器端跳转,它是通过RequestDispatcher对象的forward()方法实现的。
- forward是在服务器内部完成的,客户端浏览器其实不知道页面的跳转。
- forward可以将要求的数据传递给下一个页面。
- forward的路径是相对当前Servlet的路径,可以跳转到WEB-INF目录下的页面。
- forward可以跳转到当前WEB利用中的其他Servlet、JSP页面或HTML页面。
2. Redirect(重定向):
- redirect是通过HttpServletResponse对象的sendRedirect()方法实现的。
- redirect是通过告知浏览器发送一个新的要求,浏览器收到服务器返回的重定向响应后,会向新的URL地址发出新的要求。
- redirect是客户端行动,客户端浏览器会重新向指定的页面发送要求,URL地址会产生变化。
- redirect不可以将要求的数据传递给下一个页面,需要通过URL参数进行传递。
- redirect的路径是相对当前的域名,不能跳转到WEB-INF目录下的页面。
- redirect可以跳转到任意URL地址,包括其他WEB利用中的页面。
TOP