请求转发 :浏览器
做用:实现多个servlet 联动操做处理请求,这样避免代码冗余,让servlet 的职责更加明确。服务器
使用: req.getRequestDispatcher("要转发的地址").forward(req,resp);spa
地址:相对路径,直接书写servlet 的别名便可。对象
特色: 一次请求,浏览器地址栏信息不改变。资源
注意:
* 请求转发后直接return结束便可作用域
解决的问题:服务器在接收到浏览器的请求后,仅仅使用一个Servlet 进行处理,会形成不一样的Servletget
逻辑代码冗余,Servlet 的职责不明确。servlet
reuqet做用域:
* 解决了一次请求内的servlet的数据共享问题
*重定向:
* 解决了表单重复提交的问题,以及当前servlet没法处理的请求的问题。
* 使用:
* resp.sendRedirect(String uri);
* 示例:
* resp.sendRedirect("/login/main");
* 特色:
* 两次请求,两个request对象。
* 浏览器地址栏信息改变
* 时机:
* 若是请求中有表单数据,而数据又比较重要,不能重复提交,建议使用重定向。
* 若是请求被Servlet接收后,没法进行处理,建议使用重定向定位到能够处理的资源class