美文网首页
重定向与请求转发(转载)

重定向与请求转发(转载)

作者: 年少懵懂丶流年梦 | 来源:发表于2017-01-15 22:57 被阅读13次

    请求重定向:由客户重新发起请求

    请求转发:由服务器自己内部分派请求给另一内容处理

    重定向

    servlet中重定向方法:

    response.sendRedirect(Java.lang.String location);
    

    jsp中实现重定向:

    <%response.sendRedirect("new.jsp"); %> //重定向到new.jsp
    

    原理:

    重定向与客户端交互,服务器将传递进来的location直接相应到客户端,会产生302码,浏览器自动访问新的location。

    特点:

    两次请求和相应URL地址发生了变化
    数据会丢失,产生了两个不同的HttpServletRequest对象
    
    地址问题:
    重定向有绝对地址和相对地址之分
    绝对地址不加“/”
    response.sendRedirect("second.do");
    相对地址加“/”
    response.sendRedirect(request.getContextPath()+"/second.do");
    
    请求转发

    servlet中实现请求转发:

    RequestDispatcher rd=request.getRequestDispatcher("second.do");
    rd.forward(request, response);
    

    jsp实现请求分派:

    <jsp:forward page="apage.jsp" />
    

    原理:

    发生在服务器端,一个servlet对象调用另外一个servlet对象,会将request和response传递过去;

    特点:

    只有一次请求和响应
    URL地址不会改变
    数据不会丢失
    

    特别感谢 作者重山杨

    相关文章

      网友评论

          本文标题:重定向与请求转发(转载)

          本文链接:https://www.haomeiwen.com/subject/mdsubttx.html