import javax.servlet.ServletException;
 import javax.servlet.annotation.WebServlet;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;

 /**
  * @Author: 艾康
  * @Date: 2019/10/15 23:13
  */

 /**
  * 重定向
  */
 @WebServlet("/servlettest1")
 public class ServletTest1 extends HttpServlet {
     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         //重定向:资源跳转方式
         System.out.println("111111111");
         //1.设置状态码为302
         response.setStatus(302);
         //2.告诉浏览器跳转资源路径,使用响应头localhost:跳转的资源路径 设置响应头

         response.setHeader("location","/Case1/servlettest2");

     }

     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     this.doPost(request,response);
     }
 }

简化代码:

 import javax.servlet.ServletException;
 import javax.servlet.annotation.WebServlet;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;

 /**
  * @Author: 艾康
  * @Date: 2019/10/15 23:13
  */

 /**
  * 重定向
  */
 @WebServlet("/servlettest1")
 public class ServletTest1 extends HttpServlet {
     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         //重定向:资源跳转方式
         System.out.println("111111111");
         //1.设置状态码为302
         response.setStatus(302);
         //2.告诉浏览器跳转资源路径,使用响应头localhost:跳转的资源路径 设置响应头
         // response.setHeader("location","/Case1/servlettest2");
         //简化代码
         response.sendRedirect("/Case1/servlettest2");

     }

     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     this.doPost(request,response);
     }
 }

重定向特点:

  1.地址栏发生变化

  2.重定向可以访问其他站点的资源

  3.重定向是两次请求

最新文章

  1. iOS从零开始学习直播之音频3.歌曲切换
  2. [.net 面向对象程序设计深入](6).NET MVC 6 —— 模型、视图、控制器、路由等的基本操作
  3. myaudio.duration为null的解决办法
  4. linux内核学习之六 进程创建过程学习
  5. (转)如何构建高性能,稳定SOA应用之-负载均衡-Decoupled Invocation(一)
  6. 设置TextView文字居中
  7. MFC关于VS内存释放的定位
  8. 3.1,pandas【基本功能】
  9. hadoop笔记之Hive的管理(远程登录方式)
  10. 导航原理实验系统软件——node-webkit初探
  11. 基于 dubbo 的分布式架构
  12. VIM快速复制多行
  13. Linux下安装、启动、停止mongodb
  14. 新版的 selenium已经放弃PhantomJS改用Chorme headless
  15. ArrayList去重
  16. 如何seo(搜索引擎优化)
  17. IC卡插入与触点激活时序
  18. POJ2387(dijkstra堆优化)
  19. Flink - Asynchronous I/O
  20. vi相关

热门文章

  1. java的collection&&map集合总结
  2. C# - 怎么截取字符串中指定字符及其后面的字符
  3. Docker、Kubernetes(k8s)与OpenShift之间的关系
  4. jQuery 封装的ajax
  5. Redis数据结构之跳跃表-skiplist
  6. [Code+#3]博弈论与概率统计
  7. OpenGL的编译和使用
  8. !vtop 命令
  9. 制作一个自己的xhprof测试平台
  10. 2019-4-15-VisualStudio-如何在-NuGet-包里面同时包含-DEBUG-和-RELEASE-的库