2009-12-15 21 views
8

JavaScript kullanmadan köprüler tıklatıldığında Java Servlet'i çağırmanın bir yolu var mı?Köprü tıklatmayla ilgili bir sunucu çağrısı çağırın

+3

kuyu, yeni yorumlar orada sarı bir zarf gibi görünüyor, bu yüzden onları okuyorsunuz - size yardımcı olan cevabı kabul edin ve gelecekteki birçok kişiye yardım etmesini beklemeyin. – Bozho

cevap

24

Köprü, web.xml dosyasında tanımlanmış bir sunucu eşlemesine sahip olduğunuz bir URL'ye sahip olun.

servlet-mapping öğesi, bir sunucu ile URL kalıbı arasındaki bir eşlemeyi tanımlar. Aşağıdaki örnekte /foo ile başlayan herhangi bir URL'ye myservlet adlı sunucu uygulamasını eşler: Bu örnek için

<servlet> 
    <servlet-name>myservlet</servlet-name> 
    <servlet-class>com.stackoverflow.examples.MyServlet</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>myservlet</servlet-name> 
    <url-pattern>/foo/*</url-pattern> 
</servlet-mapping> 
  • gibi <a href="/foo/test.html">Click Me</a> sunucu uygulamasını çağırmak istiyorum bir köprü.
+0

Açıkça anlamıyorum, biraz daha detial olarak açıklayabilir misiniz – sarah

+0

Teşekkür ederim :) – sarah

3

Bir "callme" sunucu tanımladığınızı ve bu sunucu için web.xml'nin yapılandırıldığını düşünün. JSP köprüyü

web.xml

<servlet> 
<description>callme Functions</description> 
<display-name>callme</display-name> 
<servlet-name>callme</servlet-name> <servlet-class>com.test.Projects.callme</servlet- 
class> 
</servlet> 

<servlet-mapping> 
<servlet-name>callme</servlet-name> 
<url-pattern>/callme</url-pattern> 
</servlet-mapping> 

kullanarak çağırmak için aşağıdaki sözdizimini kullanın:

<a href="<%=request.getContextPath()%>/callme">Call the servlet</a> 
+0

Doğru haritalama için upvoted olurdu, ancak betik için downvoted, bu yüzden saldo başına 0 oy. – BalusC

6
  1. Eğer web.xml da Servlet'dir beyan, adı, sınıfı ve url ayarlayarak -pattern (URL'niz /myServlet diyelim)
  2. <a href="/myServlet">mylink</a>
  3. kılma istediğini yapmak için servlet'ten doGet(..) yöntem yazmak
1

tam olarak "bir Java Servlet çağrı ile neyi kastediyorsunuz? Bir bağlantıya tıklamak için en normal (yani herhangi bir JavaScript sihri olmadan) tarayıcı davranışı, dokümanı bağlantıda belirtilen URL'ye getirmek için bir HTTP isteği göndermek ve görüntülemek - ve HTTP isteklerine yanıt vermek için Servlet'ler var. Yani, özel bir şey yapmak zorunda değilsiniz. Sadece normal bir HTML bağlantınız olsun ve "ara" yapmak istediğiniz sunucu uygulamasının bu bağlantının URL'sine karşılık geldiğinden emin olun. Tabii ki bir sonraki soru Servlet'in ne getirdiğini ve tarayıcının onunla ne yapmasını istediğidir.