单击超链接调用servlet

时间:2009-12-15 13:31:12

标签: java servlets java-ee

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

4 个答案:

答案 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)

  1. 通过设置名称,类和 url-pattern web.xml中声明您的servlet (假设您的网址格式为/myServlet
  2. <a href="/myServlet">mylink</a>
  3. 覆盖servlet的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返回的内容以及浏览器要用它做什么。