2011-10-29 3 views
11
<servlet-mapping> 
    <servlet-name> s1</servlet-name> 
    <url-pattern> /abc </url-pattern> 
</servlet-mapping> 

<servlet-mapping> 
    <servlet-name> s2</servlet-name> 
    <url-pattern> /abc </url-pattern> 
</servlet-mapping> 

<servlet-mapping> 
    <servlet-name> s3</servlet-name> 
    <url-pattern> /* </url-pattern> 
</servlet-mapping> 

Quale servlet verrà chiamato se viene richiesta una richiesta/abc e perché?Cosa succede se il pattern url corrisponde a più servlet?

risposta

16

Check this. In breve:

  • se i mapping hanno esattamente lo stesso modello, non è garantito quale servlet verrà invocato. Quindi evita quello.
  • Se i motivi si sovrappongono, viene selezionato quello più specifico. (/abc è più specifico di /*)
+0

Bella spiegazione e il collegamento fornito è fantastico, semplice da comprendere. – CuriousMind