Sunucu uygulaması haritalama / ve /* arasındaki fark desen url
Tanıdık kodu:
<servlet-mapping>
<servlet-name>main</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>main</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Benim anlayışıma göre http://host:port/context/*
/*
haritalar.
Nasıl /
? Kesinlikle http://host:port/context
kök sadece harita değil. Aslında http://host:port/context/hello
, kabul ama http://host:port/context/hello.jsp
reddetmek olacaktır.
Herkes nasıl http://host:port/context/hello
eşleştirilmiş açıklayabilir mi?
CEVAP
<url-pattern>/*</url-pattern>
Bir sunucu üzerinde /*
diğer tüm sunucu uygulamalarını geçersiz kılar. Ateş isteği ne olursa olsun, bu uygulamasında sona erecek. Bu nedenle sunucu uygulamalarını için kötü bir URL kalıbı. Genellikle, Filter
bir tek /*
kullanmak istediğiniz. İsteğin devam edebilmesi için, sunucu uygulamalarını FilterChain#doFilter()
çağırarak daha özel bir URL kalıbı dinleyen herhangi yapabiliyor.
<url-pattern>/</url-pattern>
/
herhangi bir diğer sunucu geçersiz kılmaz. Sadece başka bir kayıtlı sunucu uygulaması uymuyor ki tüm isteklerin servletcontainer bu yerleşik varsayılan sunucu uygulaması yerini alır. Bu normalde statik kaynakları (resim CSS/JS//etc) ve dizin listeleri üzerinde çağrılır. Bu servletcontainer bu yerleşik varsayılan sunucu uygulaması da HTTP istekleri önbelleğe dosya indirme işlemi devam eder başa çıkabilecek kapasiteye sahip değil. *.jsp
servletcontainer bu yerleşik durumda JspServlet
çağrılan, /
sunucu uygulaması çağrılan olmayacak. Bu nedenle de sunucu uygulamalarını için kötü bir URL kalıbı. Genellikle, aksi takdirde tüm görevleri dikkate almak zorunda olduğu gibi, varsayılan sunucu geçersiz kılmak istemiyorum.
<url-pattern></url-pattern>
Sonra da boş bir dize URL deseni . Bu bağlamda kök istenildiğinde çağrılacak. Bu herhangi bir alt istendiğinde çağrılan değil mi bu
<welcome-file>
yaklaşımı farklıdır. Bu büyük olasılıkla aslında bir isterseniz, aradığınız URL desen "Ana Sayfa sunucu uygulaması".
AKSARAY, Sunucu uygulaması ve JSP aras...
Sunucu uygulaması ve web hizmeti arası...
DAO ve Depo desen arasındaki fark nedi...
'Bağımlılık Enjeksiyon arasındaki...
'bir web sitesi arasındaki fark n...