Bildiğim kadarıyla bu kongre Struts1 tarafından yayılmıştır. Kullanım kılavuzu bunu şöyle ifade eder:
Not: Bu bölümdeki malzeme Payandalara özel değildir. Sunucu uygulaması eşlemelerinin yapılandırması Java Servlet Spesifikasyonunda tanımlanmıştır. Bu bölüm, bir uygulamayı yapılandırmanın en yaygın yollarını açıklamaktadır.
Denetleyici sunucu uygulaması tarafından işlenecek URL'leri tanımlamak için iki yaygın yaklaşım vardır - önek eşleştirme ve uzantı eşleştirme. Her yaklaşım için uygun bir haritalama girişi aşağıda açıklanacaktır.
Önek eşleştirme, belirli bir değerle başlayan (bağlam yolu bölümünden sonra) tüm URL'lerin bu sunucu uygulamasına aktarılmasını istediğiniz anlamına gelir. Böyle bir giriş şöyle görünebilir:
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/do/*</url-pattern>
</servlet-mapping>
bu /logon
, daha önce açıklanan yolla eşleşen bir istek URI'sinin aşağıdaki gibi görünebileceği anlamına gelir :
http://www.mycompany.com/myapplication/do/logon
/myapplication
uygulamanızın dağıtıldığı bağlam yolu nerede .
Öte yandan, uzantı eşlemesi, URI'nin bir nokta ve ardından tanımlanmış bir karakter kümesiyle sona ermesi gerçeğine dayalı olarak, istek URI'larını eylem sunucu uygulamasına eşleştirir. Örneğin, JSP işleme sunucu uygulaması *.jsp
, istenen her JSP sayfasını işlemek için çağrılması için modele eşlenir .
Uzantıyı kullanmak için *.do
("bir şeyler yap" anlamına gelir) , eşleme girişi şöyle görünecektir:
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
ve /logon
daha önce açıklanan yolla eşleşen bir istek URI'si
şöyle görünebilir:
http://www.mycompany.com/myapplication/logon.do
UYARI - <servlet-mapping>
Denetleyici sunucu uygulaması için birden fazla öğe tanımlarsanız çerçeve doğru çalışmayacaktır .
UYARI - Sürüm 1.1'den beri yeni modül desteğini kullanıyorsanız, yalnızca uzantı eşlemesinin desteklendiğini bilmelisiniz.
Ve bu konvansiyonun korunduğunu düşünüyorum (bazen Struts1'i değiştirdikten sonra bile URL'leri değiştirmemek, bazen sadece insanlar bundan memnun olduğu için).