• 中文
    • 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.2k
    • 请登录之后再进行评论

      登录

      赞助本站

      • 支付宝
      • 微信
      • QQ

      感谢一直支持本站的所有人!

      单栏布局 侧栏位置: