Servlet的页面跳转方式

来源:互联网 发布:剑灵灵族捏脸数据截图 编辑:程序博客网 时间:2024/05/16 07:50

重定向跳转

特点

  • 重定向跳转页面,地址栏会发生改变,变成跳转以后的页面地址。
  • 重定向可以跳转到外网地址,也能访问当前应用的所有地址和webapps中其他的应用地址。
  • 如果在跳转的地址前加上/,/表示tomcat下的webapps,跳转的路径会变成tomcat的根目录+“你要写的地址”;跳转格式:response.sendRedirect(“/FirstWeb/index.html”)。
  • 数据是不共享的。重定向跳转遵循两次请求两次转发,首先客户端向服务器(servlet)发送一个request请求(http://localhost:8080/FirstWeb/LoginServlet),服务器接收到请求后解析请求,并用response响应给客户端一个html地址,客户端再按照这个地址给html页面发送一个request请求,html页面收到请求后响应给客户端该页面的资源,客户端即可访问该页面。 在这个过程中,共有两次请求和两次转发,此时请求的资源是不共享的,一次请求转发后资源就被销毁。
    这里写图片描述

服务器请求转发跳转

特点

  • 请求转发跳转页面的页面地址不会发生变化,保留请求的地址。
  • 请求转发不能跳转到外网地址,只能访问当前应用的所有地址。
  • 在请求地址前加上/:/表示的是当前应用的根目录。跳转格式request.getRequestDispatcher(“/success.html”).forward(request, response);
  • 数据是共享的。请求转发跳转,首先客户端给服务器(servlet)发送一个request请求(http://localhost:8080/FirstWeb/index.html),服务器转身把这个请求发送给HTML页面,html收到请求后直接把资源发送给客户端,客户端就可以访问html页面了。
    这里写图片描述