在 WEB-INF 下的文件如果需要引用 js 或者 css 不能使用這種上下級的相對路徑,需要使用從項目根路徑往下定位的
『貳』 java項目jsp中如何引用本地路徑圖片
在JSP 文件中抄 <img src="C:/Users/fx/Pictures/test.jpg"/> 這樣是引不到圖片的。因為,JSP頁面在引圖片的時候是在頁面解析的路徑是:<img src="http://localhost:8080/test/images/1.jpg">。也就是說JSP在引圖片的時候是先去你的工程目錄下找的。
所以如果要在JSP中引入其他盤符的圖片,有兩種方法可以解決:
1:使用虛擬路徑來配置:
在tomcat下的conf/server.xml中增加一個代碼 在<Host></Host>中間
如下:
<!--增加的--path="/虛擬名" docBase="虛擬路徑" ->
<Context path="/upload" docBase="D:\louyuimage\upload\" reloadable="true"></Context>
2:在Eclipse中,雙擊Server視圖的Tomcat實例:
點擊進入Moles
『叄』 如何在jsp中使用絕對路徑
在JavaWeb開發中,常使用絕對路徑的方式來引入JavaScript和CSS文件,這樣可以避免因為目錄變動導致引入文件找不到的情況,常用的做法如下:
一、使用${pageContext.request.contextPath}
代碼」 ${pageContext.request.contextPath}」的作用是取出部署的應用程序名,這樣不管如何部署,所用路徑都是正確的。
例如:
<!--使用絕對路徑的方式引入CSS文件-->
<link rel="stylesheet"href="${pageContext.request.contextPath}/themes/default/css/ueditor.css" type="text/css"/>
<!--使用絕對路徑的方式引入JavaScript腳本-->
<script type="text/javascript"src="${pageContext.request.contextPath}/ueditor1_3_6-gbk-jsp/ueditor.config.js"></script>
使用<%=request.getContextPath()%>和使用${pageContext.request.contextPath}達到同樣的效果
<script type="text/javascript" src="<%=request.getContextPath()%>/ueditor1_3_6-gbk-jsp/ueditor.all.js"></script>
『肆』 jsp中調用js的路徑問題
WEB-INF下的東西是訪問不到的,把你的inf.js文件拿出來,放哪隨你願意,總之別放在WEB-INF、或者WEB-INF的子目錄下,然後重新指定以下路徑,就能訪問到了。
『伍』 jsp引入js文件的問題
1)引入的js文件出錯,
檢查方法:將Js的內容寫在當前的頁面的<script> </script>之間,看是否能夠正常運行,如果不能,請核查代碼
2) 如果引入的代碼在當前頁面中能夠正常運行,但當引入時不能正常運行,則有兩種可能
A:引入Js的路徑有問題
B:引入的Js的編碼格式與當前頁面不匹配;
3)引入Js的路徑問題
js的引入不外乎兩種,相對路徑與絕對路徑
test.js 與index.jsp 放在同一文件夾下,比如: web應用/manage/下面
第一種情況 :
一般在學習時, 一個tomcat上都跑多個工程, 用工程名來區分
因為我的的URL是 :http://localhost/工程名 /manage/index.jsp
多了一個工程名,所以要加 <%=request.getContextPath() %>
如下:
<scriptsrc="<%=request.getContextPath()%>/manage/test.js"></script>
第二種情況:
訪問JSP文件時, 用相對路徑引入JS,CSS文件是OK的
真實項目中, 一個tomcat上要是也跑了多個工程, 並用IP來區分
url 是這樣的: http://localhost/manage/index.jsp 注意這里,是直接訪問JSP文件,不是 servlet,不是struts .
test2.js 與index.jsp 放在同一文件夾下,下面用相對路徑來引入 JS文件 是OK 的:
<script src=test2.js></script>
第三種情況:一個通過Action跳轉之後到達的Jsp頁面需要引入一個Js文件:
這種情況下,請使用絕對路徑,
在第二情況的基礎上, 我們訪問的是 servlet 或是struts的action , 再轉發到 index.jsp
url 是: http://localhost/***.do或者 http://localhost/***.action 這里不是訪問JSP文件了
因此路徑應該這么寫:
<scriptsrc="/manage/test.js"></script>
test2.js 前面一定要有/manage/
或者:
<scriptsrc="http://127.0.0.1/工程名/manage/test.js"></script>
這種方法推薦
在引入js時,我們應該養成良好的習慣,請使用絕對路徑,在開發時,能夠大大的提高自己的開發效率。
4)引入js的編碼問題;
將兩者的編碼改為一致,一般我們可以修改JS文件編碼使其與頁面編碼一致。
第二種方式是使用script標記的charset屬性來顯式指明所引入js文件的編碼。如
<scriptsrc="xx.js"charset="gbk"></script>
這樣無論頁面是什麼編碼,都可以正常的訪問這個JS中的內容。
相比之下,第二種可能更方便一些,而且作為一種好的習慣,平時我們應該盡可能都寫上charset屬性。
『陸』 JSP頁面中怎麼引入js文件
1)引入的js文件出錯,
檢查方法:將Js的內容寫在當前的頁面的<script> </script>之間,看是否能夠正常運行,如果不能,請核查代碼
2) 如果引入的代碼在當前頁面中能夠正常運行,但當引入時不能正常運行,則有兩種可能
A:引入Js的路徑有問題
B:引入的Js的編碼格式與當前頁面不匹配;
3)引入Js的路徑問題
js的引入不外乎兩種,相對路徑與絕對路徑
test.js 與index.jsp 放在同一文件夾下,比如: web應用/manage/下面
第一種情況 :
一般在學習時, 一個tomcat上都跑多個工程, 用工程名來區分
因為我的的URL是 :http://localhost/工程名 /manage/index.jsp
多了一個工程名,所以要加 <%=request.getContextPath() %>
如下:
<script src="<%=request.getContextPath() %> /manage/test.js"></script>
第二種情況:
訪問JSP文件時, 用相對路徑引入JS,CSS文件是OK的
真實項目中, 一個tomcat上要是也跑了多個工程, 並用IP來區分
url 是這樣的: http://localhost/manage/index.jsp 注意這里,是直接訪問JSP文件,不是 servlet,不是struts .
test2.js 與index.jsp 放在同一文件夾下,下面用相對路徑來引入 JS文件 是OK 的:
<script src=test2.js></script>
第三種情況:一個通過Action跳轉之後到達的Jsp頁面需要引入一個Js文件:
這種情況下,請使用絕對路徑,
在第二情況的基礎上, 我們訪問的是 servlet 或是struts的action , 再轉發到 index.jsp
url 是: http://localhost/***.do或者 http://localhost/***.action 這里不是訪問JSP文件了
因此路徑應該這么寫:
<script src="/manage/test.js"></script>
test2.js 前面一定要有/manage/
或者:<script src="http://127.0.0.1/工程名/manage/test.js"></script> 這種方法推薦
在引入js時,我們應該養成良好的習慣,請使用絕對路徑,在開發時,能夠大大的提高自己的開發效率。
4)引入js的編碼問題;
將兩者的編碼改為一致,一般我們可以修改JS文件編碼使其與頁面編碼一致。
第二種方式是使用script標記的charset屬性來顯式指明所引入js文件的編碼。如<script src="xx.js" charset="gbk"></script> 這樣無論頁面是什麼編碼,都可以正常的訪問這個JS中的內容。
相比之下,第二種可能更方便一些,而且作為一種好的習慣,平時我們應該盡可能都寫上charset屬性。
『柒』 jsp 引用css路徑
是你的css文件夾放錯了,應該放到WebContent文件夾裡面去,無論是直接子集或者其他,都應當在旗下。回
如果直接在旗下,答那麼就可以寫你那樣的路徑了。
WebContent,顧名思義,就是web項目發布後的目錄,所有的前台文件都在裡面