Servlet中的重定向和请求分派.doc

上传人:11****ws 文档编号:3261278 上传时间:2019-05-27 格式:DOC 页数:4 大小:33KB
下载 相关 举报
Servlet中的重定向和请求分派.doc_第1页
第1页 / 共4页
Servlet中的重定向和请求分派.doc_第2页
第2页 / 共4页
Servlet中的重定向和请求分派.doc_第3页
第3页 / 共4页
Servlet中的重定向和请求分派.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、1.重定向在 Servlet 中的接口 HttpServletRequest 提供了 sendRedirect()方法用于生成 302 相应码和 Location 响应头,从而通知客户端去重新访问 Location 响应头指定的 URL,其定义如下:public void sendRedirect(String location ) throws IOException;对于 sendRedirect()方法不仅可以重定向到当前应用程序中的其他资源,也可重定向到一个容器中的其他应用程序中的资源。eg:/Servlet1.javapackage com.lkh.redrect;import ja

2、va.io.IOException;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class Servlet1 extends HttpServlet Overrideprotected void doGet(HttpS

3、ervletRequest request,HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated method stubthis.doPost(request, response);Overrideprotected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated m

4、ethod stubresponse.sendRedirect(“Servlet2“); /重定向到指定路径的资源/ RequestDispatcher dis=request.getRequestDispatcher(“Servlet2“);/ dis.forward(request, response);/Servlet2.javapackage com.lkh.redrect;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.se

5、rvlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class Servlet2 extends HttpServlet Overrideprotected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated

6、 method stubthis.doPost(request, response);Overrideprotected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated method stubresponse.setContentType(“text/html;charset=utf-8“);PrintWriter out = response.getWriter();out.printl

7、n(“);out.println(“ servlet2“);out.println(“ “);out.println(“从 Servlet2 中获取请求参数 name 的值:“);out.println(request.getParameter(“name“);out.println(“ “);out.println(“);同时要在项目中的 web.xml 对 Servlet 进行声明:Servlet1com.lkh.redrect.Servlet1Servlet1/Servlet1Servlet2com.lkh.redrect.Servlet2Servlet2/Servlet22.请求分派在

8、 Servlet 中定义一个接口 RequestDispatcher其方法如下:public void forward(ServletRequest request,ServletResponse response) throws ServletException,IOException;public void include(ServletRequest request,ServletResponse response) throws ServletException,IOException;对于 forward()方法用于将请求转发到 RequestDispatcher 实例封装的资源,i

9、nclude()方法用于将 RequestDispatcher 实例封装的资源作为当前响应的一部分包含进来。获取 RequestDispatcher 实例的方式有两种:(1)调用 ServletContext 接口提供的 getRequestDispatcher(String url) 方法(2)调用 ServletRequest 接口提供的 getRequestDispatcher(String url) 方法ServletContext 接口提供的 getRequestDispatcher(String url) 方法中的路径参数必须以”/“开头ServletRequest 接口提供的 g

10、etRequestDispatcher(String url) 方法中的路径参数可以是相对路径也可为绝对路径。eg:只要将上面中的 Servlet1.java 中的 doPost()代码改为RequestDispatcher dis=request.getRequestDispatcher(“Servlet2“);dis.forward(request, response);3.重定向也和请求分派的比较:请求分派只能将请求转发给同一个 web 应用中的其他组件,而重定向不仅可以定向到当前应用程序中的其他资源,也可重定向到其他站点的资源上重定向的访问过程结束后,浏览器的地址栏显示的 URL 会发生改变,变成重定向的目标 URL,而请求分派的浏览器地址栏保持初始的 URL请求分派的发起者和被调者之间共享相同的 request 实例和 response 实例,属于同一个“请求/响应”而重定向的发起者和被调用者使用各自的 request 实例和 response实例,各自属于独立的“请求/响应”过程。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 医药卫生

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。