Erreur d'envoi des donnée avec un servlet

maxisaif Messages postés 6 Date d'inscription mercredi 1 juin 2011 Statut Membre Dernière intervention 13 mai 2012 - 7 avril 2012 à 04:59
shaiulud Messages postés 404 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 15 juillet 2014 - 10 avril 2012 à 15:07
Bon jours a tt
je suis débutant en j2ee j'ai un problème dans mon code car le serveur tomcat il m'affiche l'erreur HTTp 404(ma servlet n'est pas disponible)
quelq'un peut m'aider
cette les données sont recupérer a partir d'une page jsp
voisi ma servlet Login.java
________________________________________
package MesServlets;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
* Servlet implementation class Login
*/
@WebServlet("/Login")
public class Login extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String mat = request.getParameter("matricule");
String nom= request.getParameter("nom");
int matricule = Integer.parseInt(mat);

String dbUrl ="jdbc:odbc:oradata";
String user = "abidi";
String password = "admin";
try{
// Charger le driver (qui s'enregistrera lui-même)
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection c = null;
c = DriverManager.getConnection(dbUrl,user,password);
Statement s = null;
s = c.createStatement();
//requète SQl
String sql ="select matricule, nom from Utilisateur where matricule='"+matricule+"'and nom='"+nom+"';";
ResultSet r = s.executeQuery(sql);
while (r.next()) {
if (r.getString("matricule").equals(matricule)&& r.getString("nom").equals(nom))
{
HttpSession session=request.getSession(true);
session.setAttribute("matricule",mat);
session.setAttribute("nom",nom);
out.println("c moi qui ....");
getServletContext().getRequestDispatcher("menu.jsp").forward(request, response);
}
else
{
out.println("je n'a pas fait une auth");
getServletContext().getRequestDispatcher("authentifier.jsp").forward(request,response);
}

}
}catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

catch(SQLException e){

out.println("ereurrrrrrrrrrrr"+e);

}
}}

1 réponse

shaiulud Messages postés 404 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 15 juillet 2014 22
10 avril 2012 à 15:07
La fête du codding.


Que d'erreur de programmation/conception.

La servlet gère les appels/réposnes HTTP et présente une données mais elle ne fait pas d'accès aux bases. le code doit être déporté dans une classe spécialisée (DAO)

//
String sql = ...
utiliser les preparedStatement sinon Injection SQL


sinon pour ton problème de http-404

http://www.servletworld.com/servlet-tutorials/servlet3/webservlet-annotation-example.html
0
Rejoignez-nous