2009-12-15 41 views
8

¿Hay alguna manera de llamar a un servlet Java al hacer clic en el hipervínculo sin usar JavaScript?Llamar a un servlet al hacer clic en el hipervínculo

+3

Bueno, los nuevos comentarios aparecen como un sobre amarillo allí arriba, por lo que los lee: acceda y acepte la respuesta que lo ayudó, o no espere que muchas personas lo ayuden en el futuro. – Bozho

Respuesta

24

Haga que el hipervínculo tenga una URL que tenga una asignación de servlet definida en el archivo web.xml. El elemento servlet-mapping define una asignación entre un servlet y un patrón de URL. El ejemplo siguiente asigna el servlet llamado myservlet a cualquier URL que comienza con /foo:

<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> 
  • Para este ejemplo, un hipervínculo como <a href="/foo/test.html">Click Me</a> podría invocar el servlet.
+0

no lo estoy entendiendo claramente, ¿me puede explicar algo más detial? – sarah

+0

Thankx funcionó :) – sarah

3

Cree que ha definido un servlet "callme" y web.xml ha sido configurado para este servlet. Utilice la siguiente sintaxis para llamar usando hipervínculo

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> 

en JSP:

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

Hubiera votado por la asignación correcta, pero voté por la scriptlet, por lo que voté 0 por saldo. – BalusC

6
  1. usted declara su servlet en web.xml estableciendo su nombre, clase y url -pattern (digamos que su url-pattern es /myServlet)
  2. escribir <a href="/myServlet">mylink</a>
  3. reemplazar el método del servlet para hacer lo que quiera doGet(..)
1

¿Qué quiere decir con "llamar a un servlet de Java? El comportamiento del navegador más normal (es decir, sin magia de JavaScript) para hacer clic en un enlace es enviar una solicitud HTTP para buscar el documento en la URL especificada en el enlace y mostrarlo, y existen servlets para responder a las solicitudes HTTP.

Así que no tiene que hacer nada especial. Simplemente tenga un enlace HTML regular y asegúrese de que el servlet que desea "llamar" corresponde a la URL de ese enlace. Por supuesto, la siguiente pregunta es qué devuelve ese Servlet y qué quiere que haga el navegador con él.

Cuestiones relacionadas