有没有办法在不使用JavaScript的情况下点击超链接调用Java Servlet?
答案 0 :(得分:23)
使超链接具有您在web.xml
文件中定义的servlet映射的URL。
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。答案 1 :(得分:6)
web.xml
中声明您的servlet
(假设您的网址格式为/myServlet
)<a href="/myServlet">mylink</a>
doGet(..)
方法以执行任何操作答案 2 :(得分: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>
答案 3 :(得分:1)
对于“调用Java Servlet”到底是什么意思?点击链接时最常见的(即没有任何JavaScript魔法)浏览器行为是发送HTTP请求以获取链接中指定的URL处的文档显示它 - 并且存在Servlet以响应HTTP请求。
所以你根本不需要做任何特别的事情。只需要一个常规的HTML链接,并确保您要“调用”的servlet对应于该链接的URL。当然,接下来的问题是Servlet返回的内容以及浏览器要用它做什么。