簡體   English   中英

在jetty項目中存儲靜態文件如html / css / javascript的位置?

[英]Where to store static files like html/css/javascript in a jetty project?

我有一個使用jetty運行的maven項目:

$ mvn run:jetty

在我的項目中,我應該存儲我的靜態文件,如HTML,CSS,Javascript,圖像?

我的布局使用簡單的Web應用程序拱門類型:

/src/main/java/webapp/web-inf/views/

我應該創建一個名為'assets'的文件夾嗎?

然后我的視圖頁面將以某種方式引用/assets文件夾? 我很困惑我將在我的html頁面中使用哪條路徑來引用如下圖像:

/assets/images/logo.png

這不是一個Jetty問題,因為它是一個普通的Java webapp問題。 如果您計划直接提供它們(如* .css,* .css,圖像等),請將它們放在WEB-INF之上但在docroot之下。 Java WebApps是以下所有基本目錄結構。

<docroot>
  +WEB-INF/
    +lib/
    +classes/

<docroot>任何內容都可以直接通過http直接訪問。 任何WEB-INF及以下內容都不是。 一個非常簡單的webapp有一個頁面(index.jsp),一個images目錄中的圖像,以及它的配置文件(web.xml)看起來像這樣。

index.jsp
images/bob.jpg
WEB-INF/
  web.xml
  lib/
  classes/

在index.jsp中你可以像bob.jpg一樣引用...

<img src="images/bob.jpg"/>

這真是一個Maven問題,而不是Jetty問題。

通常你會把你的圖像(等)放在maven webapp目錄中 - source/main/webapp/ (不在web-inf

你如何構建下面的東西取決於你,但它主要取決於你期望放入多少內容,以及你認為最好組織它的方式。

source/main/webapp/assets/images很好,但source/main/webapp/imagessource/main/webapp/static/

然后,在HTML中,您使用放在webapp位下面的任何路徑來引用圖像。

一般的答案是 - 您的Web應用程序的根目錄是webapp。 動態資源(如JSP頁面或Freemarker模板)最好放在web-inf /子文件夾中(它們可以通過類加載器訪問,但不能通過直接瀏覽器請求訪問)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM