¿Cómo puedo generar una respuesta HTML en un servlet Java?Generar una respuesta HTML en un servlet Java
Respuesta
Es necesario tener un método doGet como:
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hola</title>");
out.println("</head>");
out.println("<body bgcolor=\"white\">");
out.println("</body>");
out.println("</html>");
}
Se puede ver this enlace para un simple servlet hola mundo
Usted remitir la solicitud a un JSP para su visualización. JSP es una tecnología de visualización que proporciona una plantilla para escribir HTML/CSS/JS simple y proporciona la capacidad de interactuar con código/variables de Java de fondo con la ayuda de taglibs y EL. Puede controlar el flujo de la página con taglibs como JSTL. Puede establecer cualquier dato de back-end como un atributo en cualquiera de los ámbitos de solicitud, sesión o aplicación y usar EL (las cosas ${}
) en JSP para acceder/mostrarlas.
ejemplo Comienzo:
@WebServlet("/hello")
public class HelloWorldServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String message = "Hello World";
request.setAttribute("message", message); // This will be available as ${message}
request.getRequestDispatcher("/WEB-INF/hello.jsp").forward(request, response);
}
}
Y /WEB-INF/hello.jsp
aspecto:
<!DOCTYPE html>
<html lang="en">
<head>
<title>SO question 2370960</title>
</head>
<body>
<p>Message: ${message}</p>
</body>
</html>
Al abrir http://localhost:8080/contextpath/hello esto mostrará
Message: Hello World
en el navegador.
Esto mantiene el código de Java libre de clúster de HTML y mejora enormemente el mantenimiento. Para aprender y practicar más con servlets, continúe con los enlaces a continuación.
- Our Servlets wiki page
- How do servlets work? Instantiation, sessions, shared variables and multithreading
- doGet and doPost in Servlets
- Calling a servlet from JSP file on page load
- How to transfer data from JSP to servlet when submitting HTML form
- Show JDBC ResultSet in HTML in JSP page using MVC and DAO pattern
- How to use Servlets and Ajax?
- Servlet returns "HTTP Status 404 The requested resource (/servlet) is not available"
También busque the "Frequent" tab of all questions tagged [servlets] para encontrar las preguntas más frecuentes.
¿Sigue siendo este un enfoque válido?Siempre escucho a nuestro arquitecto principal decir que no debe usar JSP, pero luego me pregunto cómo debería crear todo el HTML. ¿Crea cada elemento uno por uno programáticamente? Eso probablemente demore por siempre. – Timo
@Timo: o ha entendido mal a su arquitecto o su arquitecto necesita leer http://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files, http: // stackoverflow. com/questions/2095397/what-is-the-difference-between-jsf-servlet-and-jsp y http://stackoverflow.com/tags/servlets/info Si aún no está convencido, ejecute usted mismo y busque otro proyecto. – BalusC
esto ... ¡esto debería marcarse como la mejor respuesta! –
- 1. ¿Puedo generar un hilo de un servlet?
- 2. Eliminar cookie de una respuesta servlet
- 3. Generar una respuesta HTTP en Ruby
- 4. ¿Cómo se elimina una cookie en un servlet Java?
- 5. ExecutorService en Java Servlet
- 6. Procesamiento asíncrono en Java desde un servlet
- 7. llamando a un servlet java desde javascript
- 8. ¿Cómo puedo generar html desde un objeto Java?
- 9. Generar HTML en Raqueta
- 10. ¿Cómo envío los trailers de Http/pie de página en una respuesta fragmentada desde dentro de un servlet Java?
- 11. Acceso desde servlet Java
- 12. Html, manejo de una respuesta JSON
- 13. HTTP Tunnel Servlet (Java)
- 14. java-servlet request.getParameterValues ()
- 15. Java Servlet getParameter para un parámetro que es una URL
- 16. Diseño modelo para manejar una respuesta asíncrona en Java
- 17. bucle infinito cuando la transmisión de una solicitud en un servlet de Java
- 18. Necesito un prettificador HTML basado en Java para limpiar el HTML generado por Velocity
- 19. Cómo llamar a un servlet desde el código Java
- 20. ¿Cómo incluyo HTML en una respuesta de JS Rails?
- 21. generar un número aleatorio corto en java?
- 22. Servlet Java NIO en el archivo
- 23. Java/Servlet: get current sql.Date
- 24. Throttle solicitud HTTP en Java Servlet
- 25. Un validador HTML en Java
- 26. Aplicación web Java en un contenedor Servlet vs. versión independiente
- 27. JQuery $ .ajax() post - data en un servlet java
- 28. Servlet de Java - Limpieza de sesión (HttpServletRequest)
- 29. Llamar al servlet Java desde Android
- 30. Video usando HTML 5 y servlet
No se recomienda generar HTML desde un servlet de esta manera. Esa es una expresión vintage de 1998. Una mejor solución sería usar un JSP. – duffymo
O utilice algunos framework/herramientas como dojo, GWT etc. y mantenga html del lado del cliente completamente separado del código del lado del servidor. – saugata
@duffymo: Pero a veces, en ciertas ocasiones, me gustaría generar un progreso en la respuesta html de Servlet. No todo es adecuado para MVC. –