zoukankan      html  css  js  c++  java
  • JavaWeb学习——页面跳转方式

    JavaWeb学习——页面跳转方式

    摘要:本文主要学习了请求转发和响应重定向,以及两者之间的区别。

    请求转发

    相关方法

    使用HttpServletRequest对象的 getRequestDispatcher(String path) 方法获取RequestDispatcher类型的转发器。

    使用RequestDispatcher转发器的 forward(ServletRequest request, ServletResponse response) 方法进行转发。

    实例

    1 @Override
    2 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    3     req.getRequestDispatcher("/test.html").forward(req, resp);
    4 }

    响应重定向

    相关方法

    使用HttpServletResponse对象的 sendRedirect(String location) 方法进行重定向到其他资源。

    实例

    1 @Override
    2 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    3     resp.sendRedirect("/HelloWorld/test.html");
    4 }

    请求转发和响应重定向的区别

    发送次数

    转发只发送一次请求。

    重定向发送两次请求。

    地址栏变化

    转发地址栏没有变化,执行刷新相当于重新发送信息到原页面。

    重定向地址栏有变化,执行刷新将发给新页面。

    访问限制

    转发可以访问WEB-INF下的资源。

    重定向不可以访问WEB-INF下的资源。

    发生位置

    转发发生在服务器内部。

    重定向发生在浏览器端。

    跳转地址

    转发不能跳转到本应用外的URL。

    重定向可以跳转到任意URL。

    访问属性

    通过 request.setAttribute(); 设置的属性,如果让下一个页面访问,只能通过转发。

    通过 session.setAttribute(); 设置的属性,如果让下一个页面访问,转发和重定向都可以,建议使用转发。

  • 相关阅读:
    LaTeX —— 特殊符号与数学字体
    LaTeX —— 特殊符号与数学字体
    实战caffe多标签分类——汽车品牌与车辆外观(C++接口)[详细实现+数据集]
    家书与家训
    家书与家训
    Handler总结
    (step5.1.3)hdu 1213( How Many Tables——1213)
    JavaScript+XML+VBA导出报表初步构想
    XML学习总结
    JSP 9 大内置对象详解
  • 原文地址:https://www.cnblogs.com/shamao/p/12069037.html
Copyright © 2011-2022 走看看