/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package controleur;
import dao.DAOException;
import dao.ISpIndDAO;
import dao.InscriptionSpIndDAO;
import java.io.IOException;
import java.util.List;
import java.io.IOException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.sql.DataSource;
import model.InscriptionInd;
/**
*
* @author moha
*/
public class InscriptionIndControleur extends HttpServlet{
/**
* la source de données qui permettra d'accéder à la base de donnee
* (c'est elle qui gère un pool de connexions, et qui fournira les
* connexions aux différents objets en ayant l'usage).
*/
private DataSource dataSource;
/**
* A l'initialisation du servlet, création d'un pool de connexions
* qui servira à fournir des connexions à la base de données
* utilisés par les composants modèle.
*/
public void init() throws ServletException {
try {
Context init = new InitialContext();
dataSource = (DataSource) init.lookup("java:comp/env/jdbc/iphitosbd");
} catch (NamingException ne) {
throw new ServletException("problème lors du chargement du driver",
ne);
}
}
// private int getIntegerParameter(HttpServletRequest request, String paramName,
// String errorVar, String errorMess, boolean[] error) {
// int res = 0;
// try {
// res = Integer.parseInt(request.getParameter(paramName));
// } catch (NumberFormatException e) {
// // Normalement la vérification que l'année est bien un nombre
// // devrait être confiée à javascript côté client avec blocage de
// // l'envoi du formulaire si saisie incorrecte.
// // MAIS cela ne dispense pas de refaire une vérification côté
// // serveur (par exemple au cas ou l'url serait tapee directement)
// request.setAttribute(errorVar, errorMess);
// error[0] = true;
// }
// return res;
// }
/** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
//----------------------------------------------------------------------
// Analyse de la requête HTTP
//----------------------------------------------------------------------
int IdSp = 0;
int IdEp = 0;
IdSp=Integer.parseInt(request.getParameter("IdSp"));
IdEp=Integer.parseInt(request.getParameter("idEpreuve"));
// boolean IdSpDefined = !request.getParameter("IdSp").trim().equals("");
// boolean IdEpDefined = !request.getParameter("IdEp").trim().equals("");
//
// boolean[] error = {false};
// if (IdSpDefined) {
// IdSp = getIntegerParameter(request, "IdSp",
// "erreurIdSp", "IdSp numero du sportif doit être un nombre !!!", error);
// }
// if (IdEpDefined) {
// IdEp = getIntegerParameter(request, "IdEp",
// "erreurIdEp", "Numero d'épreuve doit être un nombre !!!", error);
// }
//----------------------------------------------------------------------
// Construction du modèle
//----------------------------------------------------------------------
InscriptionInd sportifEp = null;
try {
InscriptionSpIndDAO sportifEpDAO = InscriptionSpIndDAO.getInstance(dataSource);
sportifEpDAO.setSportifEpInd(IdSp, IdEp);
} catch (DAOException e) {
throw new ServletException(e.getMessage(), e);
}
//----------------------------------------------------------------------
// Génération de la présentation
//----------------------------------------------------------------------
//on redirige un message de reussite vers la page Inscrir.jsp
request.setAttribute("enregistrementSpIndEp",
"enregistrement du sportif à l'épreuve individuelle réussie");
try {
getServletContext().getRequestDispatcher(
"/InscrirSportifEpInd.jsp").forward(request, response);
} catch (Exception e) {
e.printStackTrace();
throw new ServletException("erreur à l'enregistrement", e);
}
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/** Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/** Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
}