zoukankan      html  css  js  c++  java
  • Servlet中的转发与重定向的区别

    转发

      为request对象、在服务器端执行的

      代码: request.getRequestDispatcher("/login.html").forward(request, response);

      转发中的url, 写/与不写都是一样的.  推荐写

      客户端的url不会改变

    重定向

      为response对象、在客户端执行

      代码: response.sendRedirect("/hello/BServlet");

      重定向写/开头, 一定需要写:  /项目名/资源  绝对路径  推荐写

    1. 直接在地址栏输入一个url访问某个资源, 就是一个重定向
    2. 通过超链接,表单提交的方式,也是一个重定向

    请求转发与重定向比较 

      l  请求转发是一个请求,而重定向是两个请求;

      l  请求转发后浏览器地址栏不会有变化,而重定向会有变化,因为重定向是两个请求;

      l  请求转发的目标只能是本应用中的资源,重定向的目标可以是其他应用;

      l  请求转发对AServlet和BServlet的请求方法是相同的,即要么都是GET,要么都是POST,因为请求转发是一个请求;

      l  重定向的第二个请求一定是GET;

      l  请求转发是在服务端内部执行的,而重定向是在客户端执行的.

    小技巧: 成功: 一般使用重定向进行跳转, 

    如果从request域获取数据, 一定使用转发

  • 相关阅读:
    XML和JSON优缺点
    JSON与XML优缺点对比分析
    json数据格式
    ajax 请求二进制流 图片
    常用网站
    Js setTimeout 用法
    js Indexof的用法
    02_虚拟机的安装和SecureCRT、FileZilla、Xmanage、UltraEdit工具的介绍
    01_Hadoop学习笔记内容说明
    sudoers文件设置sudo命令无密码(root密码)登录
  • 原文地址:https://www.cnblogs.com/64Byte/p/12846069.html
Copyright © 2011-2022 走看看