Quelle est la différence entre JSF, Servlet et JSP dans le développement web Java ?
Bonjour à tous ! Je suis un développeur Java débutant, j'apprends à créer des applications web. Je suis complètement perdu entre trois technologies : JSF, Servlet et JSP. Elles semblent toutes utilisées pour le web, mais comment savoir laquelle choisir ?
J'ai essayé d'écrire un formulaire de connexion simple. J'ai commencé avec un servlet :
```java
@WebServlet("/login")
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String user = request.getParameter("username");
String pass = request.getParameter("password");
// vérification...
request.setAttribute("message", "Bonjour, " + user);
request.getRequestDispatcher("welcome.jsp").forward(request, response);
}
}
```
Ensuite, j'ai vu qu'on pouvait utiliser du code Java directement dans JSP via des scriptlets. Puis on m'a dit que JSF est un "framework de composants", et qu'il est meilleur. Mais quand j'ai essayé JSF, la logique était complètement différente : f