Servlet技术-请求转发,重定向和包含的关系
来源:互联网 发布:mac 重设密码 编辑:程序博客网 时间:2024/04/29 03:01
Web组件之间的关系包含3种,请求转发,URL重定向和包含
1.请求转发
请求转发允许把请求转发给同一应用程序的其他web组件,这种技术通常用于Web应用控制层的Servlet流程控制器,可检查HTTP请求的数据,并将请求转发到合适的目标组件,目标组件执行具体的请求处理操作并生成响应结果。
实例:
如果当前的Servlet组件要把请求转发给一个jsp组件,如hello.jsp,可在Servlet中的service方法中执行一下代码:
RequestDispatcher rd=request.getRequestDispatcher("hello.jsp");
//forward to request URL
rd.forward(request,resposne);
在jsp页面中,可以使用<jsp:forward>标签来转发请求
<jsp:forward page="hello.jsp">
对于请求转发,转发的源组件和目标组件可以共享request范围内的数据
2.URL重定向
请求重定向类似与请求转发,但有一些重要区别,Web组件可以将请求定向到任意的URL,而不仅仅是同一应用中URL。重定向的源组件和目标组件不能共享同一个
HttpServletRequest对象,因此不能共享request范围内的共享数据
实例:
若当前应用的Servlet组件要把请求转发给URL,如http://www.csdn.net/可以在Servlet中的service()方法中执行一下代码
response.sendRedirect("http://www.csdn.net");
HttpServletResponse的sendRedirect()向浏览器返回包含重定向的信息,浏览器根据这一信息迅速发出一个新的新Http请求,请求访问重定向内容
3.包含
包含关系允许一个web组件聚集来自同一个应用中其他Web组件的输出数据,并使用被聚集的数据来创建响应结果,这种技术通常用于模版处理器,它可以控制网页布局。模版中每个页面区域的内容来自不同的URL,从而组成单个页面,这种技术能够为应用程序提供一致的外观和感觉
实例:
Servlet类使用javax.Servlet.RequestDispatcher.include()方法包含其他的web组件,如当前的Servlet组件包含3个jsp组件,header.jsp main.jsp footer.jsp则可以在service中执行一下代码:
RequestDispatcher rd;
rd=response.getRequestDispatcher("\header.jsp");
rd.include(request,response);
rd=response.getRequestDispatcher("\main.jsp");
rd.include(request,response);
rd=response.getRequestDispatcher("\footer.jsp");
rd.include(request,response);
在jsp文件中可以通过<include>指令来包含其他资源<%@ include file="header.jsp"%>
<%@ include file="main.jsp"%>
<%@ include file="footer.jsp"%>
- Servlet技术-请求转发,重定向和包含的关系
- servlet的重定向和请求转发
- Servlet的请求转发和重定向
- servlet的请求转发和重定向
- servlet的请求转发和重定向
- servlet请求转发、包含以及重定向
- Servlet页面跳转技术--重定向、转发和包含
- 重定向,请求转发和请求包含
- Servlet的请求转发和重定向转发
- javaEE------------------有关servlet的一些细节(输出流以及转发、重定向和请求包含)
- servlet的请求转发和请求重定向的理解
- Servlet请求转发和请求重定向之间的区别
- Servlet 转发、包含和重定向
- servlet请求转发的三种方式,请求转发与重定向以及包含
- HTTP 请求转发、重定向和包含
- 请求转发、重定向、包含的区别
- 请求包含,转发,重定向的区别
- servlet请求转发和重定向
- mysql show status参数详解
- HDU4027
- View2紧跟view1,并且不被view1挤出屏幕
- oracle db_install.rsp详解
- 算法导论版QuickSort
- Servlet技术-请求转发,重定向和包含的关系
- HLG 1752 Page Rank (线段树)
- 阴历五月一个下着雨夹雪的黄昏
- 正式投入工作中
- JAVA 定时任务之-Quartz使用篇
- 论Android Adapter notifyDataSetChanged与notifyDataSetInvalidated无效原因
- 我的博客今日开启
- Node.js 究竟是什么?
- js动态表格中删除和更新表格中的tr