Primavera: la Differenza di /** e /* per quanto riguarda i percorsi di

Qual è la differenza tra due asterischi al posto dell’asterisco, quando ci si riferisce a percorsi?

Prima ero debug la mia Primavera 3 di progetto. Stavo cercando di aggiungere una .swf utilizzando

<spring:url var="flashy" value="/resources/images/flash.swf"/>

Con il mio web.xml’s ResourceServlet cercando come

<servlet-name>Resource Servlet </servlet-name>
<url-pattern>/resources/*</url-pattern>

Ma purtroppo mi è stato sempre questo errore:

WARN org.springframework.js.resources.ResourceServlet - An attempt to access a protected resource at /images/flash.swf was disallowed.

L’ho trovato molto strano perchè tutte le mie immagini in images cartella sono stati consultati, ma come mai il mio .swf è stato “protetto”?

In seguito, ho deciso di cambiare il /resources/* per /resources/** e finalmente ha funzionato. La mia domanda è… perché?

InformationsquelleAutor mpmp | 2012-09-24

 

One Reply
  1. 39

    Questo è un percorso schema utilizzato in Apache ant, spring team di implementare e utilizzare tutto il quadro.

    Per riferimento, vedi javadoc di AntPathMatcher (più recente javadoc sembra avere problemi, così ho il link di un vecchio).

    Tornare al tuo problema, secondo il documento, si hanno solo 3 regole:

    1. ? corrisponde a un carattere
    2. * corrisponde a zero o più caratteri
    3. ** corrisponde a zero o piu ‘cartelle’ in un percorso
    • È possibile che * per corrispondere a ciò che ** non si può?
    • Nota che Springs’ AntPathMatcher contiene bug: non è pienamente conforme con la Formica Modello di Stile. Esempio: **/*.css non funziona per i percorsi che iniziano con un /, mentre dovrebbe, secondo Formica Stile convenzioni.

Lascia un commento