Variabile 'app' in url-pattern per la mappatura servlet
-
25-09-2019 - |
Domanda
Sto imparando Spring MVC (e servlet in generale) e seguendo l'esempio MVC-ajax di SpringSource, che utilizza i metodi del controller annotati. Sembra che ci sia una sola url-pattern (in web.xml) associata a una servlet in questo esempio:
/ app / *
Ho schierato l'applicazione come un file WAR, e l'attuale, brutto URL sto chiedendo è http://127.0.0.1:8080/org.springframework.samples.mvc.ajax-1.0.0-20100407.233245-1/account .
Quindi, sembra che 'app' a '/ app / *' è una variabile corrispondente a 'org.springframework.samples.mvc.ajax-1.0.0-20100407.233245-1', tuttavia, non è universale perché non è utilizzabile nella mia app, ed è in contraddizione con la mia comprensione che url-pattern contiene la parte dell'URL dopo il nome dell'applicazione. Quindi, qual è 'app'? Dove è configurato?
Soluzione
Date un'occhiata alla urlrewrite.xml file.
Questo è dove è definito che tutti gli URL in entrata (tranne quelli che iniziano con /styles/
, /scripts/
, /images/
) saranno riscritti con /app/
all'inizio
<rule>
<from>/**</from>
<to>/app/$1</to>
</rule>
Così, quando si raggiunge il servlet dispatcher, l'url è in forma /app/myOriginalPath
.