• 资源跳转的方式 》两种:请求转发和重定向


    资源跳转的方式
    》两种:请求转发和重定向
    》请求转发
    》发生的位置:发生在服务器端,浏览器的地址栏不会被改变
    》转发的本质:一个请求在多个资源之间跳转
    》转发时数据的保存:
    》request和response的生命周期是一次请求和响应的过程
    》可以放在request对象中,请求转发是一次请求和响应的过程,所以转发时的数据能进行共享
    》 request.setAttribute("name",name);
    》request.getAttribute("name");
    》使用session
    //获取session对象
    HttpSession Session = request.getSession();
    //利用session传值
    Session.setAttribute("msg","请重新输入");
    //在重定向到的文件中,通过key值获取value值;
    session.getAttribute("msg")
    》可以转向的资源
    只能是当前服务器内部的资源
    》核心代码:
    request.getRequestDispatcher("要转发的资源路径").forward(request,response);

    RequestDispatcher是一个Web资源的包装器,可以用来把当前request传递
    到该资源。RequestDispatcher接口中定义参见如下代码:
    l public interface RequestDispatcher {
    void forward(ServletRequest request, ServletResponse response);
    }
    l forward()方法将当前的request和response重定向到该RequestDispacher指
    定的资源。这在实际项目中大量使用,因为完成一个业务操作往往需要跨越多
    个步骤,每一步骤完成相应的处理后,转向到下一个步骤。比如,通常业务处
    理在Servlet中处理,处理的结果转向到一个JSP页面或者下一个Servlet继续处
    理。



    》重定向
    》发生的位置:发生在浏览器端
    》服务器通知浏览器发送一个新的请求,地址栏的url改变
    》重定向时数据的保存
    》重定向时发生了二次请求,第一次中的数据,在重定向后都没了

    》使用session
    //获取session对象
    HttpSession Session = request.getSession();
    //利用session传值
    Session.setAttribute("msg","请重新输入");
    //在重定向到的文件中,通过key值获取value值;
    session.getAttribute("msg")

    》重定向可以转向的资源
    不但可以转向内部资源,也可以转向外部资源
    》核心代码:
    response.sendRedirect("要重定向的资源路径");

    》注意:转发和重定向不能和PrintWriter一起使用

    forward:方法只能在同一个Web应用程序内的资源之间转发请求 。
    l redirect不仅可以重定向到当前应用程序的其他资源,还可以重定向到同一
    个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点
    的资源.
    l forward:执行效率高.
    l redirect:执行效率低.

    public void sendRedirect( java.lang.String location) throws
    java.io.IOException 。这个方法将响应定向到参数location指定的、新的
    URL。
    l location可以是一个绝对的URL。如:
    response.sendRedirect(“http://java.sun.com”)。
    l 也可以使用相对的URL。如果location以“/”开头,则容器认为相对于当
    前Web应用的根,否则,容器将解析为相对于当前请求的URL

  • 相关阅读:
    Nginx,uWSGI与Django 应用的关系
    闭包学习-Python 篇
    Django学习之REST framework JWT Auth
    Python标准库uuid模块
    Django REST framework学习之JWT失效方式
    Django学习之JWT
    单点登录
    print输出格式总结
    百钱百鸡问题
    流程图符号及其功能
  • 原文地址:https://www.cnblogs.com/longmo666/p/13468286.html
Copyright © 2020-2023  润新知