2012-02-02 6 views
6

Ho un progetto Maven che ho eseguito utilizzando molo:Dove archiviare file statici come html/css/javascript in un progetto di jetty?

$ mvn run:jetty 

Dove nel mio progetto dovrei essere la memorizzazione miei file statici come HTML, CSS, Javascript, immagini?

il mio layout sta usando un tipo semplice web app arco:

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

devo solo creare una cartella denominata lì per esempio 'risorse' ?

E poi le mie pagine vista farà riferimento la cartella /assets in qualche modo? Sono confuso come userò le mie pagine html per quale percorso fare riferimento a un'immagine come:

/assets/images/logo.png 

risposta

17

Questa non è una domanda molo così tanto in quanto è un generale domanda Java webapp. Se si prevede di distribuirli direttamente (come * .css, * .css, immagini, ecc.), Inserirli da qualche parte sopra lo WEB-INF ma sotto il proprio docroot. Java WebApps sono tutte le seguenti strutture di base della directory.

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

Tutto in <docroot> raggiungibile direttamente attraverso dritto http. Tutto ciò che è WEB-INF e non lo è. Una semplice webapp con una pagina (index.jsp), un'immagine in una directory di immagini e il suo file di configurazione (web.xml) assomiglia a questo.

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

In index.jsp si potrebbe fare riferimento bob.jpg come ...

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

ti ha scritto 'Tutto in è raggiungibile direttamente', volevi dire in docroot? – Blankman

+0

@Blankman sì. Qualsiasi cosa nella docroot può essere servita direttamente. Qualunque cosa in WEB-INF e sotto non può. –

0

La risposta generale è - la radice della vostra applicazione web è webapp. Le risorse dinamiche (come le pagine JSP o i modelli di Freemarker) starebbero meglio in una web inf/sottocartella (sono accessibili tramite il programma di caricamento classi ma non da una richiesta diretta del browser).

6

Questa è davvero una domanda Maven piuttosto che una domanda Jetty.

In genere si dovrebbe mettere le vostre immagini (ecc) nella Maven webapp directory - cioèsource/main/webapp/ (non sotto web-inf)

Come si struttura le cose sotto che è fino a voi, ma sarà per lo più dipenderà da come molto contenuto che ti aspetti di inserire e come pensi che sia meglio organizzarlo.

source/main/webapp/assets/images va bene, ma lo è anche source/main/webapp/images o source/main/webapp/static/.

Poi, all'interno del vostro HTML, si fa riferimento alle immagini utilizzando qualsiasi percorso si mette in sotto il bit webapp.

+0

Così ho aggiunto test.html all'interno della cartella webapp, ho eseguito mvn clean install, mvn jetty: run e dice no mapping trovato per /test.html sto navigando http://127.0.0.1:8080/test.html – Blankman

+0

I ho fatto riferimento a un'immagine dal mio index.jsp, l'immagine non ha nemmeno renderizzato. – Blankman

Problemi correlati