繁体   English   中英

单击超链接调用servlet

[英]Call a servlet on click of hyperlink

有没有办法在不使用JavaScript的情况下点击超链接调用Java Servlet?

使超链接具有您在web.xml文件中定义的servlet映射的URL。

servlet-mapping元素定义了servlet和URL模式之间的映射。 下面的示例将名为myservlet的servlet myservlet到以/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。
  1. 你通过设置它的名称,类和url-patternweb.xml声明你的servlet(假设你的url-pattern是/myServlet
  2. <a href="/myServlet">mylink</a>
  3. 覆盖servlet的doGet(..)方法,以执行您想要的任何操作

认为您已经定义了一个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>

“调用Java Servlet”究竟是什么意思?单击链接时最常见的(即没有任何JavaScript魔法)浏览器行为是发送HTTP请求以获取链接中指定的URL并显示它 - 和Servlet存在以响应HTTP请求。

所以你根本不需要做任何特别的事情。 只需要一个常规的HTML链接,并确保您要“调用”的servlet对应于该链接的URL。 当然,下一个问题是Servlet返回的内容以及浏览器希望它做什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM