zoukankan      html  css  js  c++  java
  • 关于Servlet中的转发和重定项

    一:转发

      首先转发属于服务器内部行为,通过浏览器的地址栏是看不到URL变化的。比如说客户端发送一个请求到ServletA,ServletA接收到请求,但是没有能力处理,但是ServletA知道ServletB可以处理,它不想直接告诉浏览器说自己处理不了,于是ServletA就将请求传递给了ServletB代为完成,该行为发生在服务器内部,客户端  看不到变化,当ServletB处理完毕请求后,会响应客户端,该行为相当于A盗用了B的劳动成果。(两个Servlet中使用的request和response是同一个)

     

       req.getRequestDispatcher("/ServletB").forward(req, resp);    //使用request对象
    
      // WEB-INF文件夹中的文件,在外部是没有办法访问的。但是可以直接在服务器内部,通过代码进行访问(如访问/WEB-INF/notice.html):
    
       // req.getRequestDispatcher("/WEB-INF/notice.html").forward(req,resp);

    二:重定向

      重定向不属于服务器内部行为,客户端发送完请求后会清楚的看到浏览器地址栏的变化。比如说客户端发送一个请求到ServletA,ServletA接收到请求,但是没有能力处理,于是它就回复客户端说自己处理不了,在回复的同时告知了客户端说ServletB可以处理,让客户端去找ServletB,因此地址栏会发生变化,由原本的ServletA重新指定到ServletB。

      

       resp.sendRedirect("/ServletB");  //使用response对象
  • 相关阅读:
    PHP ceil() 函数
    PHP Array 函数
    php中的include()的使用技巧
    [观察者模式]在游戏开发中的应用
    [策略模式]在游戏开发中的应用
    使用EA将源码转化为类图
    PAT 1013 数素数 (20)
    PAT 1034 有理数四则运算(20)
    PAT 1033 旧键盘打字(20)
    PAT 1032 挖掘机技术哪家强(20)
  • 原文地址:https://www.cnblogs.com/wooyoohoo/p/9463243.html
Copyright © 2011-2022 走看看