请求转发:
如果当前的servlet组件要把请求转发给一个JSP组件,如hello.jsp,可以在servlet的service()方法中
执行以下代码:
RequestDispatcher rd=request.getRequestDispatcher("hello.jsp");
rd.forward(request,response);
在jsp页面中,可以使用<jsp:forward>标签转发请求,
<jsp:forward page="hello.jsp"/>
请求重定向
response.sendRedirect("http://www.baidu.com");
请求重定向与请求转发到区别:
web组件可以将请求重定向到任一URL,而不仅仅是同一应用中的URL.
重定向到源组件和目标组件之间不共用同一个HttpServletRequest对象,因此不能共享request范围内的共享数据
包含
Servlet类使用javax.servlet.RequestDispatcher.include()方法包含其他的web组件,例如,如果当前的Servlet组件包含
了三个JSP文件:header.jsp main.jsp和footer.jsp,则可以在Servlet的service()方法中执行以下代码:
RequestDispatcher rd;
rd=req.getRequestDispatcher("/header.jsp");
rd.include(req,res);
rd=req.getRequestDispatcher("/main.jsp");
rd.include(req,res);
rd=req.getRequestDispatcher("/footer.jsp");
rd.include(req,res);
在JSP文件中,可以通过<include> 指令来包含其他资源:
<% @include file="header.jsp"%>
<% @ include file="main.jsp"%>
<% @ include file="footer.jsp"%>