Comment générer une réponse HTML dans une servlet Java?Génération d'une réponse HTML dans un servlet Java
Répondre
Vous devez avoir une méthode doGet comme:
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>");
}
Vous pouvez voir this lien pour un simple servlet Bonjour tout le monde
Normalement, vous réachemine la demande à un JSP pour l'affichage. JSP est une technologie de visualisation qui fournit un modèle pour écrire HTML/CSS/JS et peut interagir avec le code/les variables Java à l'aide de taglibs et EL. Vous pouvez contrôler le flux de page avec taglibs comme JSTL. Vous pouvez définir toutes les données dorsales en tant qu'attributs dans n'importe quelle demande, session ou application et utiliser EL (les choses ${}
) dans JSP pour les afficher/les afficher.
exemple Coup d'envoi:
@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);
}
}
Et /WEB-INF/hello.jsp
ressembler à:
<!DOCTYPE html>
<html lang="en">
<head>
<title>SO question 2370960</title>
</head>
<body>
<p>Message: ${message}</p>
</body>
</html>
Lors de l'ouverture http://localhost:8080/contextpath/hello cela montrera
Message: Hello World
dans le navigateur.
Ceci empêche le code Java d'être encombré par HTML et améliore grandement la maintenabilité. Pour apprendre et pratiquer plus avec les servlets, continuez avec les liens ci-dessous.
- 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"
Consultez également the "Frequent" tab of all questions tagged [servlets] pour trouver la foire aux questions.
Est-ce encore une approche valable?J'entends toujours notre principal architecte dire de ne pas utiliser JSP du tout, mais je me demande comment créer tout le HTML? Créer chaque élément un par un par programmation? Cela prend probablement une éternité. – Timo
@Timo: soit vous avez mal compris votre architecte, soit votre architecte doit lire http://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files, http: // stackoverflow. com/questions/2095397/quoi-est-la-différence-entre-jsf-servlet-et-jsp et http://stackoverflow.com/tags/servlets/info Si vous n'êtes toujours pas convaincu, lancez-vous et cherchez un autre projet. – BalusC
ceci .... ceci devrait être marqué comme meilleure réponse! –
- 1. Comportement Java Servlet Question
- 2. Réponse XML GAE Servlet. Comment?
- 3. Wicket + jsTree, génération de liens dans la réponse ajax
- 4. Servlet Java - exporter vers un excell
- 5. iText image dans le servlet java
- 6. Comment enchaîner une réponse JSP à une requête Servlet
- 7. Comment soumettre un formulaire par programmation dans un servlet Java?
- 8. Erreurs Java Servlet 404
- 9. Impossible de retourner un CSS html du servlet
- 10. Servlet java Threadsafe
- 11. Servlet 3.0 inclut la page html
- 12. Formulaire html en réponse XML et réponse
- 13. HTML: Demande - Réponse Redirection
- 14. Comment créer une servlet Java dans Eclipse?
- 15. Problème de génération HTML
- 16. Appeler un servlet par défaut d'abord dans l'application Java Web
- 17. Comment utiliser Session dans Java Servlet?
- 18. jQuery réponse html
- 19. Déploiement d'applications Java Servlet Comme
- 20. Envoi d'un fichier en Java en utilisant un servlet
- 21. Appel d'une servlet Java distante
- 22. Analyse de la réponse HTML dans jQuery
- 23. Classes de génération HTML C++
- 24. Exception de servlet en Java
- 25. Comment puis-je passer un arraylist d'une page html à une servlet java?
- 26. Call servlet Java à partir d'Android
- 27. Génération d'URL de portlet à partir du servlet AJAX
- 28. Problème de redirection de Java Servlet Filter
- 29. Envoyer une table html à une servlet à un jsp
- 30. Accès au DOM de la table JavaScript dans un servlet Java
Il n'est pas recommandé de générer du code HTML à partir d'une servlet de cette manière. C'est un idiome vintage de 1998. Une meilleure solution serait d'utiliser un JSP. – duffymo
Ou utilisez un framework/des outils comme dojo, GWT etc. et gardez le HTML côté client complètement séparé du code côté serveur. – saugata
@duffymo: Mais parfois, dans certaines occasions, j'aimerais générer une réponse html en cours de la part de Servlet. Ne pas tout est adapté pour MVC. –