1. 关于web系统中资源跳转
1.1 跳转包括两种方式:
转发-forward
重定向-redirect
2.转发和重定向代码怎么写?
-转发:
request.getRequestDispatcher("/b").forward(request,response);
-重定向:
response.sendRedirect(request.getContextPath()+"/b");
3.转发和重定向的区别?
相同点:
-都可以完成资源跳转;
不同点:
-转发是request对象触发;
-重定向是response对象触发;
-转发是一次请求,浏览器地址栏上地址不会发生变化;[/a]
-重定向是两次请求,浏览器地址栏上的地址会发生变化;[/a,/b]
-重定向的路径需要加webapp的根路径
-转发是在本项目内部完成资源的跳转,
-重定向可以完成跨项目资源跳转
4.跳转的下一个资源可以是什么?
跳转的下一个资源可以使web服务器中任何一种资源:可以是Servlet,也可以是Html,也可以是JSP....
5.什么时候采用转发?什么时候采用重定向?
-若想完成夸APP跳转,必须使用重定向;
-若在上一个资源中向Request范围中存储了数据,希望在下一个资源中从request中取出数据,必须使用转发
-重定向可以解决浏览器的刷新问题;
6.重定向的原理是什么?
response.sendRedirect("/jd/login");
程序执行以上代码,将请求路径/jd/login反馈给浏览器,
浏览器又自动向web服务器发送了一次全新的请求:/jd/login;
浏览器地址栏上最终显示的地址是:/jd/login
1.1 跳转包括两种方式:
转发-forward
重定向-redirect
2.转发和重定向代码怎么写?
-转发:
request.getRequestDispatcher("/b").forward(request,response);
-重定向:
response.sendRedirect(request.getContextPath()+"/b");
3.转发和重定向的区别?
相同点:
-都可以完成资源跳转;
不同点:
-转发是request对象触发;
-重定向是response对象触发;
-转发是一次请求,浏览器地址栏上地址不会发生变化;[/a]
-重定向是两次请求,浏览器地址栏上的地址会发生变化;[/a,/b]
-重定向的路径需要加webapp的根路径
-转发是在本项目内部完成资源的跳转,
-重定向可以完成跨项目资源跳转
4.跳转的下一个资源可以是什么?
跳转的下一个资源可以使web服务器中任何一种资源:可以是Servlet,也可以是Html,也可以是JSP....
5.什么时候采用转发?什么时候采用重定向?
-若想完成夸APP跳转,必须使用重定向;
-若在上一个资源中向Request范围中存储了数据,希望在下一个资源中从request中取出数据,必须使用转发
-重定向可以解决浏览器的刷新问题;
6.重定向的原理是什么?
response.sendRedirect("/jd/login");
程序执行以上代码,将请求路径/jd/login反馈给浏览器,
浏览器又自动向web服务器发送了一次全新的请求:/jd/login;
浏览器地址栏上最终显示的地址是:/jd/login