48 votes

Java JSP vs servlet?

Dupliquer possible:
Quelle est la différence entre JSF, Servlet et JSP?

Quelle est la différence entre JSP et les servlets?

155voto

Harry Joy Points 27760

Un très de base de la différence:

  • Servlet est - html in java
  • JSP est - java in html

D'autres diff sont:

  • JSP est une page d'un langage de script qui peuvent générer du contenu dynamique, tandis que les Servlets sont des programmes Java qui sont déjà compilées qui crée aussi de contenu web dynamique
  • Les Servlets courir plus vite par rapport aux JSP
  • JSP peut être compilé en Java Servlets
  • Il est plus facile de code JSP que dans les Servlets Java
  • Dans MVC, jsp agir comme un point de vue et de servlet agir comme un contrôleur.
  • JSP sont généralement préféré quand il n'y a pas beaucoup de traitement de données requis. Mais les servlets sont les meilleurs pour l'utiliser quand il n'y a plus de traitement et de manipulation de cause.
  • L'avantage de JSP de programmation sur les servlets, c'est que nous pouvons construire des balises personnalisées qui peuvent appeler directement des Java beans. Il n'y a pas un tel établissement dans les servlets.
  • Nous pouvons réaliser la fonctionnalité de JSP à côté client par l'exécution de JavaScript côté client. Il n'y a pas de telles méthodes pour les servlets.

Et pour les autres différences de recherche sur le net ou lire vos livres.

45voto

WuHoUnited Points 2601

Une servlet est comme n'importe quelle autre classe java. Vous mettre du HTML dans les instructions d'impression, comme vous l'utilisation du Système.ou comment javascript utilise document.écrire.

Une JSP, techniquement, est converti en une servlet mais il ressemble plus à PHP les fichiers, où vous incorporez la java dans du HTML.

en bref: les servlets, devraient être utilisés si vous avez plus de java que le HTML et JSP doit être utilisé si vous avez plus de HTML de java

Il est très fréquent de combiner les servlets et les JSP de sorte que la demande initiale est envoyé à une servlet qui fait un peu de java de travail et les transmet à une JSP qui permet effectivement la sortie HTML.

32voto

Chris Kuehl Points 1123

Une servlet est une classe Java. C'est écrit comme Java normal.

Un Java Server Page (JSP) est un fichier qui est souvent utilisé à la place d'un servlet, car il est plus facile pour les données de sortie. JSP est similaire à PHP puisque vous pouvez mélanger de sortie (comme HTML) avec Java sans utiliser beaucoup out.println trucs comme faut avec une servlet. Un fichier JSP est en fait une servlet; lorsque vous l'ajoutez à votre serveur, il se transforme en .java le fichier sans que vous le sachiez. Et après la transformation, il sera compilé en .class le fichier avec d'autres .java fichiers blé nécessaire.

Un exemple de servlet simple:


// from http://www.caucho.com/resin-3.0/servlet/tutorial/helloworld/index.xtp
import java.io.*;

import javax.servlet.http.*;
import javax.servlet.*;

public class HelloServlet extends HttpServlet {
  public void doGet (HttpServletRequest req,
                     HttpServletResponse res)
    throws ServletException, IOException
  {
    PrintWriter out = res.getWriter();

    out.println("Hello, world!");
    out.close();
  }
}

Un exemple de JSP mélange de HTML et de code Java:


<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!doctype html>
<html>
<body>
Hello, world! Your IP address is <%= request.getRemoteAddr(); %>!

<%
if (request.getParameter("test") != null) {
%>
  <p><strong>Something happened!</strong></p>
<%
}
%>
</body>
</html>

2voto

Mudassir Points 8017

Un servlet est principalement utilisé pour étendre les fonctionnalités du serveur alors que JSP sert de vue. Voir cela pour plus de détails .

1voto

Ibolit Points 1825

Certains disent qu'il est préférable d'utiliser JSP pour séparer votre logique de votre point de vue. Cependant, à mon avis, vous obtenez un degré de séparation beaucoup plus élevé avec Servlets + FreeMarker (ou probablement avec un autre moteur de templates).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X