response之重定向与request之服务器内部转发详解

一:response

1.response重定向:

        指的是客户端跳转,即一次请求一次跳转,其特点为客户端地址栏发生改变


    跳转方式:

    1)

         //1 设置状态码302重定向

response.setStatus(302);

//2 设置响应头Location

response.setHeader("Location", "/WEB14/servlet2");

    2)

//次方式由方法1封装而成

        //response.sendRedirect("/项目名/指定的Servlet");

    3)

                //定时刷新:3秒后跳转到指定页面

response.setHeader("refresh", "3;url=/WEB14/servlet2");

二:Request


1.request服务器内部转发:转发发生在request域的生命周期内,


    转发格式:

获得请求转发器----path是转发的地址

RequestDispatcher getRequestDispatcher(String path)

通过转发器对象转发

requestDispathcer.forward(ServletRequest request, ServletResponse response)


    范例:

                   request.getRequestDispatcher("/login.jsp").forward(request, response);

三:二者区别

          1)重定向两次请求,转发一次请求

          2)重定向地址栏的地址变化,转发地址不变

          3)重新定向可以访问外部网站 转发只能访问内部资源

          4)转发的性能要优于重定向


猜你喜欢

转载自blog.csdn.net/a_jungle/article/details/80098324
今日推荐