Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/12/2007, à 19:24

x@v

Redirection imposible ?[JAVA]

Bonjour,
j'ai un servlet qui reçois le paramètre d'un formulaire et je voudrai qu'il redirige sur un fichier html ou sur un autre servlet. Mais le servlet affiche une page blanche, sans diriger ?

package ProjetIteration;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.UnavailableException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

 public class TechSupportServlet extends javax.servlet.http.HttpServlet 
 implements javax.servlet.Servlet 
 {
   String userName,password,mailF,logicielF,systemeF,problemeF;
   String protocol;
	 private String urlConnection = "jdbc:mysql://localhost:3306/frontal";
	 private String loginConnection = "root";
	 private String passConnection = "xav";
	 
	 public void init()
	 {
		 try {
			 Class.forName("com.mysql.jdbc.Driver");
			 System.out.print("Driver JDBC chargé");
		 }
		 catch (ClassNotFoundException e) {
			 System.out.print(e.toString());
		 }
	 }
	 
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		
		mailF=request.getParameter("mail");
		logicielF=request.getParameter("logiciel");
		systemeF=request.getParameter("systeme");
		problemeF=request.getParameter("probleme");
		System.out.print(" mailF ==" + mailF);
		try{
			Connection con=DriverManager.getConnection(protocol,userName,password);
			//System.out.println("got connection");
			//initialisation de la session
			HttpSession session=request.getSession(true);
			session.setAttribute("mail",new String(mailF));
			session.setAttribute("logiciel",new String(logicielF));
			session.setAttribute("systeme",new String(systemeF));
			session.setAttribute("probleme",new String(problemeF));
			
			Statement s=con.createStatement();
			
			String sql="select mail from user where mail='"+mailF+"'"; 
				System.out.println(sql);
				Statement req=con.createStatement();;
				ResultSet result=req.executeQuery(sql);
				if (result.next())
				{
					//System.out.println("Ok , je t'ai trouve");
					response.sendRedirect("/ProjetIteration/ReponseServlet");
					//getServletContext().getRequestDispatcher("/ProjetIteration/ReponseServlet").forward(request,response);
				}
				else
				{
					//System.out.println("Le profile n'existe pas");
					response.sendRedirect("/ProjetIteration/register.html");
					//getServletContext().getRequestDispatcher("/ProjetIteration/register.html").forward(request, response);
				}
				req.close();
				con.close();
		}
		catch(SQLException e){
			String message="Error."+e.toString();
		}
	}
}

Le formulaire qui appelle le servlet

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Site de maintenance -</title>
<style type="text/css">
	#formulaire {
	border-width:thin;
	width:80%;
	border:1px dashed red;
	padding-right:20px;
	background-color :#FFF;
	
	}
	h1{
	margin:0 0 0 50px;
	color:gray;
	font:arial;
	}
	h2{
	color:green;
	}
</style>
</head>
<body><center>

<form action="/ProjetIteration1/TechSupportServlet" method="post" ><br>
<div id="formulaire">
<h1>Support technique</h1>
<br><br />
<table style="width:700px;">
<tr>
	<td ALIGN="right">Email :</td>
	<td><input type='text'name="mail" ALIGN="left" size="30"/></td>
</tr>
<tr>
	<td ALIGN="right">Logiciel : </td>
	<td><select name='logiciel'>
				<option value='excel'>Microsoft Excel</option>
				<option value='word'>Microsoft Word</option>
				<option value='powerpoint'>Microsoft PowerPoint</option>
			</select></td>
	<td ALIGN="right">Systeme d'exploitation : </td>
	<td><select name='os' size="1">
					<option value='linux'>Linux</option>
					<option value='windows'>Windows XP</option>
					<option value="MacOS">Mac Os</option>
				</select></td>
</tr>
</table> 
<h2>
Description du probleme : <br>
<textarea name="probleme" cols="50" rows="10" wrap="virtual"></textarea><br>
</h2>
<input type="submit" value="Soumettre la requete" /><br><br>
</div>
</form> 
</body>
</html>

Merci de votre patiente.

edit ->
Par ailleurs la console ne pose pas de warning ou exception...
INFO: Server startup in 1506 ms
Driver JDBC chargé mailF ==artotal@gmail.com17 déc. 2007 18:26:57 org.apache.catalina.core.StandardContext reload
INFO: Le rechargement de ce contexte a démarré
Driver JDBC chargé mailF ==artotal@gmail.com

Dernière modification par x@v (Le 17/12/2007, à 19:29)


[-- qwerty user --]

Hors ligne

#2 Le 12/05/2008, à 21:52

alex974

Re : Redirection imposible ?[JAVA]

Désolé, je n'ai pas de réponse mais plutot une question, comment t'as fait pour installer javax.servlet dans ubuntu ???

#3 Le 12/05/2008, à 22:19

x@v

Re : Redirection imposible ?[JAVA]

'utilise redhat comme IDE, tout est installé, l'outil est devenue payant.


[-- qwerty user --]

Hors ligne

#4 Le 13/05/2008, à 10:38

Martopioche

Re : Redirection imposible ?[JAVA]

En débug, ça dit quoi ?

Tu a essayé en rajoutant le contextpath ?

Quel rapport entre javax.servlet et Ubuntu ?

Hors ligne

#5 Le 12/06/2008, à 16:17

JoLaDouille

Re : Redirection imposible ?[JAVA]

je ne suis pas sur mais je pense que tu as fait une erreur pour te connectez a la base de données.

je pense qu'il faut plutot mettre :

Connection con=DriverManager.getConnection(urlConnection,loginConnection,passConnection);


après c'est possible que ce ne soit pas ça mais sait-on jamais...