重定向和转发的区别

重定向和转发的区别**:

1)转发的地址必须是同一个应用内部的某个组件(不能跨应用,不能跨服务器)
  比如:
  地址 1 http://localhost:8080/web06/aaa.jsp
  地址 2 http://localhost:8080/web06/bbb.jsp
  地址 3 http://localhost:8080/web07/ccc.jsp
  地址 4 http://www.apache.com.cn
  在应用 web06 内部的组件 aaa.jsp 可以将信息转发到地址 2(同一应用),但是不可以转发到地址 3(跨应用)和地址 4(跨服务器)
  >>>> 重定向的地址没有限制
2) 能否共享 request
  >>  转发可以
  >> 重定向不行
  原因是转发是一次请求,重定向为两次请求,Request 的生命周期叧能在一次请求内,
  请求结束,Request 被删除
3) 浏览器地址栏的地址是否变化
  >>  转发不变
  >>  重定向会变
4) 事件是否处理完毕
  >> 转发是一件事未做完
  >> 重定向是一件事已经做完了
**什举时候用重定向?
  比如用户做删除操作时,删除操作已做完,重定向访问 list.do

什么时候用转发?
  比如(1)用户调用 list.do ,(2)由 ListServlet 到数据库中查询数据,(3)ListServlet 将查询到的数据通过 Servlet 引擎转发给负责显示的 empList.jsp,(4)empList.jsp 将数据通过友好的界面显示给用户

 

 

posted @ 2014-03-24 09:16  不苦先生  阅读(604)  评论(0编辑  收藏  举报