• java重定向与请求转发


    重定向是不能直接访问WEB-INF下的资源的,因为重定向是浏览器二次请求,众所周知,客户端是不能直接访问WEB-INF下的资源的。

    而请求转发却可以直接访问。

    然而重定向却可以间接访问WEN-INF下的资源,如下所示:

     1 /**
     2     客户端访问这个Servlet,然后可以重定向到另一个Servlet,另一个Servlet请求转发到 WEB-INF 下的资源,以实现重定向的目的   */
     3     @Override
     4     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
     5         resp.setContentType("text/html;charset=utf-8");
     6         PrintWriter out = resp.getWriter();
     7         out.println("hello world...");
     8         req.getSession().setAttribute("name","java");
     9         resp.sendRedirect("hello");//hello是另一个Servlet的访问url
    10     }
    11 
    12     @Override
    13     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    14         super.doPost(req, resp);
    15     }

    附两张图,一边理解

    重定向

    请求转发

    forward是内部重定向,而redirect是外部重定向

  • 相关阅读:
    python打包成exe可执行文件(pyinstaller)
    pandas入门:pandas的数据结构介绍
    NumPy基础:范例-随机漫步
    NumPy基础:随机数生成
    NumPy基础:线性代数
    NOIP2018总结
    luogu P2327 [SCOI2005]扫雷
    luogu P3197 [HNOI2008]越狱
    luogu P1578 奶牛浴场
    luogu P1003 铺地毯
  • 原文地址:https://www.cnblogs.com/caotao0918/p/10756626.html
Copyright © 2020-2023  润新知