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(" | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | } | ||
| </ | </ | ||