2009-12-15 91 views
8

有沒有一種方法可以在不使用JavaScript的情況下通過超鏈接來調用Java Servlet?點擊超鏈接調用servlet

+3

好吧,新的評論在那裏顯示爲一個黃色的信封,所以你會閱讀它們 - 去接受幫助你的答案,或者不要指望很多人在未來幫助你。 – Bozho 2009-12-15 18:52:35

回答

24

使超鏈接有一個URL,您可以在web.xml文件中定義一個servlet映射。

servlet-mapping元素定義了servlet和URL模式之間的映射。下面的例子命名myservlet該servlet映射到與/foo開頭的URL:

<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> 
  • 在這個例子中,超鏈接等<a href="/foo/test.html">Click Me</a>會調用Servlet。
+0

我不清楚,你能解釋我在一點點深刻 – sarah 2009-12-15 13:37:49

+0

Thankx它解決了:) – sarah 2009-12-15 14:01:58

3

認爲您已經定義了一個servlet「callme」併爲此servlet配置了web.xml。使用下面的語法使用超級鏈接

的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> 

調用它的JSP:

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

我會upvoted正確的映射,但downvoted爲腳本,所以它被投票0每saldo。 – BalusC 2009-12-15 16:59:20

6
  1. web.xml聲明你的servlet通過設置其姓名,班級和網址 - 模式 (假設您的網址格式爲/myServlet
  2. <a href="/myServlet">mylink</a>
  3. 覆蓋的servlet中做任何你想做的doGet(..)方法
1

究竟你是什麼意思與「調用的Java Servlet?用於點擊鏈接的最正常的(即沒有任何JavaScript魔術的)瀏覽器行爲是發送HTTP請求以在鏈接中指定的URL處獲取文檔並顯示它 - 並且存在Servlet以響應HTTP請求。

所以你不必做任何特別的事情。只要有一個常規的HTML鏈接,並確保您要「調用」的servlet對應於該鏈接的URL。當然,接下來的問題是Servlet返回的結果以及瀏覽器如何處理它。