Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
javaee:td1 [2013/11/05 00:37] – jcheron | javaee:td1 [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== TD n°1, éléments de correction ====== | + | ====== TD n°1 Java EE, éléments de correction ====== |
===== Exercice 1 ===== | ===== Exercice 1 ===== | ||
Corrigé dans l' | Corrigé dans l' | ||
Ligne 86: | Ligne 86: | ||
JSP et servlets, mise en place d’un contrôleur | JSP et servlets, mise en place d’un contrôleur | ||
+ | |< 100% 20% - - - >| | ||
+ | ^Package ^Classe/ | ||
+ | |< | ||
+ | |< | ||
+ | |::: |< | ||
+ | |< | ||
+ | |< | ||
+ | |||
+ | __**Documentation :**__ | ||
+ | |||
+ | * [[http:// | ||
+ | |||
+ | < | ||
+ | <ul> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
==== Classe métier :Link ==== | ==== Classe métier :Link ==== | ||
Ligne 265: | Ligne 283: | ||
</ | </ | ||
</ | </ | ||
+ | </ | ||
+ | |||
+ | ==== Contrôleur ==== | ||
+ | |||
+ | Le contrôleur gère : | ||
+ | * La logique applicative (réponses aux requêtes, redirections, | ||
+ | * Le contrôle des données | ||
+ | |||
+ | <sxh java; | ||
+ | package net.td.controller; | ||
+ | |||
+ | /** | ||
+ | * Servlet implementation class SLink | ||
+ | */ | ||
+ | @WebServlet({ "/ | ||
+ | public class SLink extends HttpServlet { | ||
+ | private static final long serialVersionUID = 1L; | ||
+ | |||
+ | /** | ||
+ | * Retourne l' | ||
+ | * @param request | ||
+ | * @return | ||
+ | */ | ||
+ | private String getAction(HttpServletRequest request){ | ||
+ | String result=""; | ||
+ | String[] parts=request.getRequestURI().split("/" | ||
+ | if(parts.length> | ||
+ | result=parts[parts.length-1]; | ||
+ | return result; | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * Charge une vue (jsp située dans le dossier protégé WEB-INF) | ||
+ | * @param viewName | ||
+ | * @param request | ||
+ | * @param response | ||
+ | * @throws ServletException | ||
+ | * @throws IOException | ||
+ | */ | ||
+ | private void loadView(String viewName, | ||
+ | request.getRequestDispatcher(" | ||
+ | System.out.println(" | ||
+ | } | ||
+ | /** | ||
+ | * @see HttpServlet# | ||
+ | */ | ||
+ | public SLink() { | ||
+ | super(); | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * @see HttpServlet# | ||
+ | */ | ||
+ | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, | ||
+ | PrintWriter out=response.getWriter(); | ||
+ | String action=getAction(request); | ||
+ | switch (action) { | ||
+ | case " | ||
+ | loadView(" | ||
+ | break; | ||
+ | case " | ||
+ | loadView(" | ||
+ | break; | ||
+ | default: | ||
+ | System.out.println(" | ||
+ | break; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * @see HttpServlet# | ||
+ | */ | ||
+ | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, | ||
+ | String action=getAction(request); | ||
+ | switch (action) { | ||
+ | case " | ||
+ | break; | ||
+ | case " | ||
+ | updateLink(request, | ||
+ | break; | ||
+ | default: | ||
+ | System.out.println(" | ||
+ | break; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * Procédure de contrôle de la mise à jour/ajout d'un lien | ||
+ | * @param request | ||
+ | * @param response | ||
+ | * @throws ServletException | ||
+ | * @throws IOException | ||
+ | */ | ||
+ | private void updateLink(HttpServletRequest request, | ||
+ | Link aLink=new Link(); | ||
+ | if(request.getParameter(" | ||
+ | aLink.setNom(request.getParameter(" | ||
+ | aLink.setAdresse(request.getParameter(" | ||
+ | if(aLink.isValid()){ | ||
+ | Gateway.updateLink(aLink, | ||
+ | loadView(" | ||
+ | }else{ | ||
+ | request.setAttribute(" | ||
+ | loadView(" | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | } | ||
</ | </ |