• 12.02


    选择界面对用户进行响应
    Servlet 中的最后一项任务就是跳转到显示界面,在显示界面显示信息。在 JSP 中要重
    定向到某个文件,可以使用<jsp:forward>标签。那么在 Servlet 中如何完成这种跳转呢?在
    Servlet 中提供了一个 RequestDispatcher 接口,通过这个接口可以完成重定向功能。
    要 使 用 RequestDispatcher , 需 要 先 创 建 该 类 的对象, 可以通 过 request 的
    getRequestDispatcher 方法创建。该方法需要一个 String 类型的参数,该参数指定要转向的
    文件。假设要转向 userlist.jsp,可以使用下面的代码:
    RequestDispatcher rd=request.getRequestDispatcher("userlist.jsp");
    要完成转向,还需要调用一个方法,用法如下:
    rd.forward(request,response);
    在学习<jsp:forward>标签的时候,还学习过一个标签<jsp:include>。<jsp:include>标签对
    应的功能在 Servlet 中的实现也是通过上面的 RequestDispatcher 来实现的。例如现在要包含
    userlist.jsp,而不是转向 success.jsp,可以使用下面的代码:
    RequestDispatcher rd=request.getRequestDispatcher("success.jsp");
    rd.include(request,response);
    实际上,还有一个方法,即 response 对象的 sendRedirect 方法可以完成重定向的功能。
    例如要转向 success.jsp,可以使用下面的代码:
    response.sendRedirect("success.jsp"); 
    但是对于我们当前的功能来说,不能使用这个方法,因为这个方法与上面介绍的方法
    有一些区别。在使用 RequestDispatcher 的时候,当前文件和要转向的文件属于同一次请求,
    可以共享 request 对象。而在使用 response 对象的 sendRedirect 方法的时候,当前文件和要
    转向的文件不属于同一次请求,属于两次请求,所以不能共享 request。如果需要通过 request
    对象传递信息,就不能使用 response 的 sendRedirect 方法。如果当前文件和要转向的文件不
    需要共享任何信息,那么这时候两种方式都可以。
  • 相关阅读:
    EF6 Code First 模式更新数据库架构
    bootstrap-datepicker 插件修改为默认中文
    常用网络资源下载
    jQuery框架学习第十一天:实战jQuery表单验证及jQuery自动完成提示插件
    AngularJS实现原理
    [个人翻译]GitHub指导文件(GitHub Guides[Hello World])
    年后跳槽如何准备?
    前端学数据库之子查询
    Ionic实战 自动升级APP(Android版)
    读书笔记:《HTML5开发手册》Web表单
  • 原文地址:https://www.cnblogs.com/wanghaoning/p/14162047.html
Copyright © 2020-2023  润新知