请求转发 及 Request 对象作用域 和重定向

请求转发 :

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

        使用:        req.getRequestDispatcher("要转发的地址").forward(req,resp);

                            地址:相对路径,直接书写servlet 的别名即可。

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

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

   解决的问题:服务器在接收到浏览器的请求后,仅仅使用一个Servlet 进行处理,会造成不同的Servlet

逻辑代码冗余,Servlet 的职责不明确。

reuqet作用域:
 *        解决了一次请求内的servlet的数据共享问题
 *重定向:
 *        解决了表单重复提交的问题,以及当前servlet无法处理的请求的问题。
 *        使用:
 *            resp.sendRedirect(String uri);
 *        示例:
 *            resp.sendRedirect("/login/main");
 *        特点:
 *            两次请求,两个request对象。
 *            浏览器地址栏信息改变
 *        时机:
 *            如果请求中有表单数据,而数据又比较重要,不能重复提交,建议使用重定向。
 *            如果请求被Servlet接收后,无法进行处理,建议使用重定向定位到可以处理的资源

转载于:https://my.oschina.net/u/3788977/blog/2052896