• 中文
    • English
  • 注册
  • 查看作者
  • 10:页面跳转

    一.  转发

    动作发生在服务器(Tomcat),地址栏不会发生改变,只需要发起一次请求。

    index.jsp:

    <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
    <!DOCTYPE html>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <%
        request.getRequestDispatcher("logo.jsp")
        .forward(request,response);
    
    %>
    </body>
    </html>

    以上面的代码为例,我们访问index.jsp,页面显示的是logo.jsp的内容,但是地址栏还是index.jsp

    二.  重定向

    动作发生在浏览器,地址栏会发生改变,需要发起两次请求。

    <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
    <!DOCTYPE html>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <%
      response.sendRedirect("logo.jsp");
    %>
    </body>
    </html>

    以上面的代码为例,我们访问index.jsp,页面显示的是logo.jsp的内容,而且地址栏也变成了logo.jsp

    三.  绝对路径

    为了防止目录不同可能导致404的问题,我们建议所有静态文件的导入,都采用绝对路径。可以使用request.getContextPath方法来获取站点的根路径。

    <img src="<%=request.getContextPath()%>/static/1.png" alt="图片">

    注意:转发时,服务器会自动在Web根目录下进行跳转,不需要加request.getContextPath,但是重定向的时候,需要加request.getContextPath

    山东省·济南市
  • 0
  • 0
  • 0
  • 1.4k
  • 请登录之后再进行评论

    登录
    单栏布局 侧栏位置: