web項目中,視圖層中關於相對路徑和絕對路徑

1.在jfinal項目中

  由於一直使用的jfinal,沒感受路徑問題。javascript

  舉個栗子,項目名字叫作test.訪問一個Controller的映射爲/user/add.這樣,在瀏覽器地址欄直接:localhost:8080/user/add就能夠直接訪問到add方法了。固然,這樣須要經過配置不一樣的端口來發布不一樣的項目,否則確定衝突了。端口指定項目的路徑。html

好比:java

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
    <Context path="" docBase="test" reloadable="true" /> 

    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" />jquery

 </Host>web

 

  而以前學的ssh以及springmvc等,在tomcat中須要經過項目名識別項目。即localhost:8080/test/user/add。spring

  這是由於在jfinal中默認項目路徑爲/,而後項目中全部的路徑都是相對項目的,即相對於test.apache

  因此,對於靜態資源,web頁面的引用js和img能夠把webroot看作是/,好比圖片位於webroot/img/1.jpg.在頁面引用:/img/1.jpg.瀏覽器訪問:localhost:8080/img/1/jpg.瀏覽器

     對於服務請求接口,直接:/user/add.瀏覽器訪問:localhost:8080/user/add.tomcat

2.一些測試

  /表明的是webapps。即tomcat中發佈的默認根路徑。bash

  全部的請求(靜態資源也是請求)都要/test/請求相對於項目的路徑。

  在html中:

      靜態資源:等測試後再寫,TODO--

  在jsp中:

      今天學習springmvc中,測試結果:

      靜態資源:須要相對路徑或者相對於項目路徑或者絕對路徑。舉例:

  • 絕對路徑:            
1 <!-- 關於路徑問題:/表示tomcat的webapps文件夾。若是/js/jq.js,控制檯顯示找不到localhost:8080/js/....確定找不到,由於應該是test/js下的
2         可使用相對路徑,這裏由於設置了bashPath,就是項目即test,因此頁面直接寫相對於項目的路徑,即:js/jq.....
3      -->
4   <script type="text/javascript" src="/test/js/jquery-1.8.2.min.js"></script>

 

  • 相對路徑直接相對於本jsp的位置寫就能夠了。這個在涉及動態跳轉就會失效。不能夠。
  • 正常使用的是相對於項目路徑,即在head處:
 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2 <%
 3 String path = request.getContextPath();
 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 5 %>
 6 
 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 8 <html>
 9   <head>
10     <base href="<%=basePath%>">
11     <script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>
12   </head>
13 <body></body>
14 </html>

    接口請求:

        同理,和靜態資源加載同樣,採用絕對路徑的時候能夠/test/user/add.

        推薦以及一般使用:在head出天價base標籤,而後就能夠這樣請求接口:user/add

相關文章
相關標籤/搜索