Servlet - 请求转发和重定向

1. 请求转发

作用: 实现多个servlet联动操作处理请求, 这样避免代码冗余, 让servlet的职责更加明确

使用: request.getRequestDispatcher("路径地址").forward(request, response);

特点: 一次请求, 浏览器地址不改变

注意: 请求转发后直接return结束即可

 

2. 重定向

作用: 解决了表单重复提交的问题, 以及当前servlet无法处理的请求的问题

使用: response.sendRedirect("路径地址");

特点: 两次请求, 两个request对象, 浏览器地址栏信息改变

注意:

  如果请求中有表单数据, 而数据又比较重要, 不能重复提交的时候, 建议使用重定向

  如果请求被servlet接收后, 无法进行处理, 建议使用重定向定位到可以处理的资源

路径: 

  相对路径: 从当前请求的路径查找资源路径

    如果Servlet的别名中包含目录, 会造成重定向资源查找失败, 建议使用绝对路径

  绝对路径: /虚拟项目名/资源路径

    第一个/为服务器的根目录

 

posted @ 2020-04-02 15:19  萌胖次  阅读(123)  评论(0编辑  收藏  举报