转发页面:
1 ,利用要求工具(request),详细代码是:
request.getRequestDispatcher(\"大众/sucess.jsp\"大众).forward(request,response);
2 ,转发时,路径利用“/”和不该用“/” ,差别很大。利用/表示路径从高下文的WebRoot开始,不该用/表示默认当前Servlet或者jsp的相对路径。
3 ,利用转揭橥示客户一次要求,request工具是同一个,这个是和重定向最大的差异。
4 ,转发之后,地址栏的URL不会改变。
重定向页面:
1,利用相应工具(response),详细代码是:
response.sendRedirect(\"大众/index.jsp\"大众);
2 重定向的路径和转发一样,不写/表示当前Servlet或者jsp的路径,写/表示路径从高下文开始,但是不包括高下文,例如项目的路径本来是http://localhost:8080/hello/login.jsp,在利用重定向时加上\"大众 / \"大众 时,路径会变成http://localhost:8080/login.jsp,这个导致没有项目路径了。该怎么处理?
3 重定向与转发最大的差异是:转向的页面是由客户端提交的要求。相称于客户端提交两次要求(实际上,客户端只提交了一次,但是在后台又被重新提交了一次),这时候request工具已经被重置了。这便是我们在即将转向的页面利用不到存在request中的元素的缘故原由。
4 重定向之后,浏览器的地址栏发生了改变。这也便是相称于客户端提交了一次要求,也便是和第三点对应了。
5 重定向有一个好处,便是他可以将页面转向到别的做事器。而转发弗成。例如,可以利用response.sendRedirect(\"大众http://www.baidu.com\"大众);这样可以在做事器内将页面转向到其他做事器。
重定向和转发是JavaEE中主要的知识点,也是利用最多的知识点,必须要节制的根本知识。也是在口试中问得较多的问题。如果能回答出以上几点,也算基本节制了。