zoukankan      html  css  js  c++  java
  • 关于客户端路径和服务器端路径如何使用相对路径和绝对路径的问题

    参考了这篇博客https://blog.csdn.net/u012124564/article/details/47355409

    再加看的视频得出一些经验。

    先说说关于客户端路径和服务器端路径问题

    客户端路径:就是跳转过后能显示目标资源的url的就是客户端路径

    服务器端路径:跳转后不显示目标资源的url就是服务器端路径。

    举个例子来说明一下

      客户端路径像是你给10086打电话咨询套餐问题,10086人工服务小姐姐表示她不管理

    这方面,给你个号码让你再给这个号码打一下。这样你就按着这个号码打过去,这就是客户

    端路径,地址被改变了。

      服务器端路径就像是你给10086打电话询问套餐问题,她虽然不懂,当时让你稍等一下,

    她帮你问问怎么解决,解决后把答案给你。但是你的地址没有发生改变,你还是打的10086

    这个号码。

      

    如果是客户端路径:


    1、链接跳转:<a href=””></a>


    2、表单提交


    3、Response.sendRedirect(“3.jsp”);


    4、<mata http-equiv=”refresh”, content=”3;2.jsp”/>


    5、response.setHeader(“refresh”,” 3;2.jsp”);


    6、客户端跳转“/”代表服务器跟路径webapps

    以上这些最好使用绝对路径:

    举个例子

    在项目下 有path.jsp

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html>
     4 <html>
     5 <head>
     6 <meta charset="UTF-8">
     7 <title>Insert title here</title>
     8 <link rel="stylesheet" href="style/style.css" type="text/css">
     9 </head>
    10 <body>
    11 <h1>halo咯</h1>
    12 </body>
    13 </html>

    这其中的href链接是相对路径,style.css是将h1设置为红色

    1 @charset "UTF-8";
    2 h1{
    3     color:red;
    4 }

    运行结果为

    显示为红色,很正常

    如果通过list.jsp访问path.jsp

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html>
     4 <html>
     5 <head>
     6 <meta charset="UTF-8">
     7 <title>Insert title here</title>
     8 </head>
     9 <body>
    10 <%
    11 
    12 request.getRequestDispatcher("../path.jsp").forward(request, response);
    13 
    14 %>
    15 </body>
    16 </html>

    结果为

    结果显示为黑色,并没有变为红色。

    因为使用request.getRequestDispatcher从list.jsp跳入path.jsp相当于在list.jsp下寻找style.css

    当然找不到。 所以就需要使用绝对路径

    像这样

    <link rel="stylesheet" href="<%=request.getContextPath() %>/style/style.css" type="text/css">

    就可以了,因为request.getContextPath()是从当前目录寻找,所以就能找到

    而服务器端路径可以使用绝对路径。

    1、<jsp:forward page=””/>


    2、pageContext.forward();


    3、 request.getRequestDispatcher("1.jsp").forward(request,response);

  • 相关阅读:
    Java Math 取整的方式
    Java final 关键词修饰类、方法、变量
    Android Activity 开发常用技巧整理
    Java override 和 overload 的区别
    Android TextView 常用技巧
    Android Adb 常用命令
    Android 实现应用升级方案(暨第三方自动升级服务无法使用后的解决方案)
    Git 常用命令
    Android 常见Crash Log汇总
    Java Annotation 总结
  • 原文地址:https://www.cnblogs.com/xcl666/p/10504430.html
Copyright © 2011-2022 走看看