Servlet获取数据往后转发给jsp,由jsp将数据以合理的办法展现出来。
当客户端发送要求时由Servlet做业务处理调用java类然后转发给jsp,由jsp渲染相应页面。
当客户端发要求到后端(request),后端作出相应(response),如果后真个处理逻辑(在没有上岸的情形下就想看购物车就得重定向到上岸页面)为重定向,发送302状态码和location头给前端,然后浏览器就会用该链接重新访问做事器 这时候的request是新的,做事器的response也是新的(request和response只存活于一次要乞降一次相应之间)。
如何转发?
1.将数据绑定到request工具上。
request.setAttribute(String name,Object obj); //map.put(name,obj)
2.得到转发器
RequestDispatcher rd=request.getRequestDispatcher(String uri); //uri是转发的地址,常日是一个jsp。
3.转发
rd.forward(request,response);
转发的特点:
a.转发之后,浏览器地址不变。
b.转发的地址有限,哀求属于同一个web运用
转发与重定向的差异
a.能否共享request?
转发可以,而重定向弗成(上面由解释 当容器收到要求,会立即创建request和response,当相应发送完毕后,容器会立即销毁)
这两个工具。转发是一次要求而重定向是两次要求。
b.浏览器地址栏的变革?
转发没有变革,重定想会发生变革。
c.地址有无限制?
转发有限定 (哀求属于同一个web运用),重定向没有任何限定。