Partage
  • Partager sur Facebook
  • Partager sur Twitter

Redirection servlet

    19 mai 2012 à 11:05:48

    Bonjour tout le monde.

    J'ai crée un site html qui reprend un peu le concept de Ebay avec les offres et les enchères. Et je suis arrivé à un moment ( je suis que débutant et mon travail n'est qu'un "prototype")où quand l'utilisateur enregistre son offre, je veux qu'il retourne dans son compte pour qu'il consulte ces dernières. Mais après multiple tentatives je n'y arrive pas .

    Voici le code où il faut qu'il enregistre son offre :
    <code type="html">
    public class Nouvelles_Offres extends HttpServlet {
    	private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public Nouvelles_Offres() {
            super();
            // TODO Auto-generated constructor stub
        }
    
    	/**
    	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		response.setContentType("text/html");
    		PrintWriter out = response.getWriter();
    
    		out.println("<h1>Vous pouvez ajouter une offre ici</h1>");
    		out.println("\n");
    		out.println("<html><body><style>h1{margin: auto}</style>");
    		out.println("<form action='Nouvelles_Offres' method='post'>");
    		out.println("Description <input name='description' <p>");		
    		out.println("<input type='submit' value='Envoi'>");
    		out.println("<input type='reset' value='Tout effacer'></p>");
    		out.println("</form>");
    
    		out.println("</html></body>");
    		out.close();
    	}
    
    	/**
    	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    	
    		response.setContentType("text/html");
    		PrintWriter out = response.getWriter();
    		out.println("<html>");
    		out.println("<body>");
    		
    		HttpSession session = request.getSession(false);		
    		Shop u=(Shop)session.getAttribute("sessioncourante");
    		
    		
    		//out.println(u.getName()+ "   "+u.password);
    		String description = request.getParameter("description");
    		Offer offre = new Offer(description);
    		u.AddOffer(offre);
    		getServletContext().getRequestDispatcher("serv").forward(request,response);
    		out.println("Votre offre ");
            out.println(offre.description);
            out.println("a bien été prise en compte ");
            out.println("</br>");
            out.println("</br>");
            out.println("</br>");
            out.println("<form action='serv'method='post'>");
            out.println(" <a href='http://localhost:8080/projet/serv'> Consulter Offres ou faire une enchère: </a>" );
            out.println("</form>");
    		out.println("</body>");
    		out.println("</html>");
    		out.close();
    		//response.sendRedirect("serv");
    		//
    		/*
    		out.println(" offre enregistree");
    		out.println(" <a href='http://localhost:8080/projet/serv'>voir les offres</a>");
    	*/
    	}
    	
    </code>
    



    et moi je veux qu'il retourne dans le doPost de la servlet "serv" là il peut consulter son compte.

    <code type="html">
    
     */
    	public serv() {
    		super();
    		// TODO Auto-generated constructor stub
    	}
    
    	/**
    	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
    	 *      response)
    	 */
    	protected void doGet(HttpServletRequest request,
    			HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    
    		response.setContentType("text/html");
    		PrintWriter out = response.getWriter();
    
    		out.println("<h1>Bienvenue sur Votre site de vente !</h1>");
    		out.println("\n");
    		out.println("</br>");
    		out.println("</br>");
    		out.println("<html><body><style>h1{margin: auto}</style>");
    		out.println("<form action='serv'method='post'>");
    		out.println("Nom <input name='nom' <p>");
    		out.println("Password <input name='password'> <p>");
    		out.println(" &nbsp   &nbsp   &nbsp  &nbsp");
    		out.println("<input type='submit' value='Envoi'>");
    		out.println(" &nbsp &nbsp &nbsp  &nbsp");
    		out.println("<input type='reset' value='Remise a zero'></p>");
    		out.println("</form>");
    
    		out.println("</html></body>");
    		out.close();
    
    	}
    
    	/**
    	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
    	 *      response)
    	 */
    	protected void doPost(HttpServletRequest request,
    			HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    
    		{
    			response.setContentType("text/html");
    			PrintWriter out = response.getWriter();
    
    			String nom = request.getParameter("nom");
    			String password = request.getParameter("password");
    
    			Shop utilisateurTrouve = null;
    			for (Shop s : Global.site.allShops()) {
    				if (s.authentifier(nom, password)) {
    					utilisateurTrouve = s;
    				}
    			}
    			if (utilisateurTrouve != null) {
    				out.println("<html>");
    				out.println("<body>");
    				out.println(" <FONT color='#0000FF'> <H1> Votre Compte </H1></FONT>");
    				out.println("Bonjour " + nom);
    				out.println("</br>");
    				out.println("</br>");
    				out.println("</br>");				
    				out.println(" <FONT color='#8000FF'> <u> Vos offres : </u> </FONT>");
    				out.println("</br>");
    				out.println("</br>");
    				for (Offer f: utilisateurTrouve.offers)	{
    				out.println(f.description);
    				out.println("</br>");
    				}
    				out.println("</br>");
    				out.println(" <a     href='http://localhost:8080/projet/Nouvelles_Offres'>Creer une offre : </a>" );
    				out.println("</br>");
    				out.println("</br>");
    				out.println(" <a href='http://localhost:8080/projet/serv'>Revenir à la page d'accueil</a>");
    				
    			    
    				HttpSession session = request.getSession(true);
    				session.setAttribute("sessioncourante", utilisateurTrouve);
    				//out.println("Session</br> ");
    				//out.println(utilisateurTrouve.password+utilisateurTrouve.getName());
    				out.println("</body>");
    				out.println("</html>");
    				out.close();
    				
    
    				
    				
    			} else {
    				out.println("<html>");
    				out.println("<body>");
    				out.println("votre nom ou/et mot de passe est erroné ");
    				out.println("</br>");
    				out.println(" <a href='http://localhost:8080/projet/serv'>Revenir à la page d'accueil</a>");
    				out.println(" <a href='http://localhost:8080/projet/Inscription'>s'inscrire</a>");
    				out.println("</body>");
    				out.println("</html>");
    				out.close();
    			}
    			    
    		}
    	}
    			
    			
    }
    </code>
    
    • Partager sur Facebook
    • Partager sur Twitter
      20 mai 2012 à 7:52:34

      Salut,

      Il faut que tu regardes la méthode forward() de l'objet RequestDispatcher.

      Sinon, si tu souhaites effectuer une vraie redirection tu peux utiliser la méthode sendRedirect() de l'objet HttpServletRespsonse.
      • Partager sur Facebook
      • Partager sur Twitter

      Redirection servlet

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown