Creé un proyecto de aplicación web. Contiene una clase de servlet y un formulario HTML. ¿Cómo llamo a la clase de servlet desde el formulario HTML?Cómo llamar a la clase servlet desde el formulario HTML
Respuesta
Solo crea una clase que se extienda HttpServlet
y anótala con @WebServlet
en un determinado patrón de URL.
@WebServlet("/login")
public class LoginServlet extends HttpServlet {}
O cuando todavía estás en Servlet 2.5 o mayor (la anotación era nuevo ya Servlet 3.0), a continuación, registrar el servlet como <servlet>
en web.xml
y mapear en un cierto patrón de URL a través de <servlet-mapping>
.
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.example.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
A continuación, dejar que el enlace HTML o punto de acción del formulario a una dirección URL que coincide con el url-pattern
del servlet.
<a href="${pageContext.request.contextPath}/login">Login</a>
<form action="${pageContext.request.contextPath}/login" method="post">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit">
</form>
Al utilizar los botones de envío, asegúrese de que utiliza type="submit"
y no type="button"
. La explicación en la parte ${pageContext.request.contextPath}
se puede encontrar en esta pregunta y respuesta relacionadas: How to use servlet URL pattern in HTML form action without getting HTTP 404 error.
Los enlaces y formularios con method="get"
invocarán el método doGet()
del servlet. Por lo general, utiliza este método para preprocesar una solicitud "en la carga de la página".
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// ...
}
Formas con method="post"
invocarán doPost()
método de la servlet. Por lo general, utiliza este método para posprocesar una solicitud con datos de formulario enviados por el usuario (recopilar parámetros de solicitud, convertirlos y validarlos, actualizar el modelo, invocar acciones comerciales y, finalmente, generar una respuesta).
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// ...
}
Para obtener más información sobre los servlets y encontrar ejemplos más concretos, a la cabeza our Servlets wiki page. Debe tenerse en cuenta que también puede usar un archivo JSP en lugar de un archivo HTML sin formato. JSP le permite interactuar con el backend a través de expresiones EL mientras produce salida HTML, y usar taglibs como JSTL para controlar el flujo. Vea también our JSP wiki page.
Por ejemplo creo un login.html así
<div class="container">
<form method = "post" class="form-signin" role="form" action="LoginServlet">
<h2 class="form-signin-heading">Please sign in</h2>
<input type="text" class="form-control" name = "username" placeholder="User Name" required autofocus>
<input type="password" class="form-control" name = "password" placeholder="Password" required>
<div class="checkbox">
<label>
<input type="checkbox" value="remember-me"> Remember me
</label>
</div>
<input type="submit" class="btn btn-lg btn-primary btn-block" value="Sign in">
</form>
</div>
Entre las etiquetas que llamo LoginServlet definiendo método como "post".
- 1. Cómo llamar a la función de JavaScript desde el servlet
- 2. Cómo llamar a un servlet desde el código Java
- 3. Llamar al servlet Java desde Android
- 4. llamar a un servicio web externo desde un servlet
- 5. Llamar a una clase java desde perl
- 6. Llamar servlet desde GWT con datos de publicación y descargar archivo generado por el servlet
- 7. Llamar a RNGCrypto desde clase DOTNET de COM desde PHP
- 8. Llamando al Servlet Post desde otro Servlet
- 9. llamando a un servlet java desde javascript
- 10. Cómo llamar a una función desde otro archivo de clase
- 11. ¿es posible llamar al servlet java desde ring/compojure?
- 12. Llamar a un método de clase desde esa clase
- 13. ventanas de llamar a un formulario desde otro hilo (.Net)
- 14. ¿Qué opciones de plantillas HTML hay en Java como alternativa a hacer salidas HTML desde su código de servlet?
- 15. Accediendo al formulario principal desde el formulario
- 16. Llamar a la función de clase externa desde la clase interna
- 17. Llamar a un servlet al hacer clic en el hipervínculo
- 18. Cómo llamar a la función de JavaScript desde PyQT
- 19. Cómo PUBLICAR un FORMULARIO de la página HTML a ASPX
- 20. Llamar a la función JQuery desde GWT
- 21. cómo llamar a C# desde C++
- 22. Llamar a un constructor de la clase base desde la clase derivada en Java
- 23. ¿Puedes llamar a un servlet con un enlace?
- 24. PHP5.3: error de "Llamar al método indefinido" al llamar a invocar desde la variable de clase
- 25. Enviar formulario HTML a PDF
- 26. Llamar al método jQuery desde el atributo onClick en HTML
- 27. Llamar a PHP en la página html
- 28. Cómo llamar a la actividad desde otro fragmento.?
- 29. ¿Cómo llamar a un servicio web SOAP desde un formulario de Wordpress?
- 30. Cómo llamar a la función javascript desde código subyacente
gracias, pero muestra otro error. (Es decir, Error 500 – user246160
Se ha lanzado una excepción. Lea la pila/registros y corrija el código en consecuencia. – BalusC