Erreur 500 NullPointerException

Erreur 500 NullPointerException - Java - Programmation

Marsh Posté le 23-07-2013 à 12:30:33    

Voila , j'ai un formulaire upload.jsp ou j'entre la description dans un champ text et j'ai un autre champ file , ou je met mon fichier , je veux après avoir cliquer sur le bouton Envoyer , afficher devant chaque champ le nom que j'ai déja ecris dans le champ descripton et le nom du fichier que j'ai uploader , sauf que ca me donne l'erreur : Etat HTTP 500 - java.lang.NullPointerException
com.fichier.upload.Upload.getNomFichier(Upload.java:85)
com.fichier.upload.Upload.doPost(Upload.java:61)
javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
 
Voila mon formulaire upload.jsp :
 
<form action="Upload" method="post" enctype="multipart/form-data">
   
   
Description : <input type="text" name="descrip"/> ${description}<br>
   
   
Fichier : <input type="file" name="fiche"/> ${fiche}<br>
   
<input type="submit" value="Envoyer"/>
   
</form>
 
Et voila ma servlet Upload ou je fais mon traitement :
 
public class Upload extends HttpServlet {
   
   
    public static final String CHAMP_DESCRIPTION = "description";
    public static final String CHAMP_FICHIER     = "fiche";
   
    protected void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException,
            IOException {
        this.getServletContext().getRequestDispatcher( "/WEB-INF/upload.jsp" ).forward( request, response );
    }
   
    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doPost( HttpServletRequest request, HttpServletResponse response ) throws ServletException,
            IOException {
   
        String description = request.getParameter( "descrip" );
   
        request.setAttribute( CHAMP_DESCRIPTION, description );
   
        /*
         * Les données reçues sont multipart, on doit donc utiliser la méthode
         * getPart() pour traiter le champ d'envoi de fichiers.
         */
        Part part = request.getPart( CHAMP_FICHIER );
   
        /*
         * Il faut déterminer s'il s'agit d'un champ classique ou d'un champ de
         * type fichier : on délègue cette opération à la méthode utilitaire
         * getNomFichier().
         */
        String nomFichier = getNomFichier( part );
   
        /*
         * Si la méthode a renvoyé quelque chose, il s'agit donc d'un champ de
         * type fichier (input type="file" ).
         */
        if ( nomFichier != null && !nomFichier.isEmpty() ) {
            String nomChamp = part.getName();
            request.setAttribute( nomChamp, nomFichier );
        }
   
        this.getServletContext().getRequestDispatcher( "/WEB-INF/upload.jsp" ).forward( request, response );
   
    }
   
    /*
     * Méthode utilitaire qui a pour unique but d'analyser l'en-tête
     * "content-disposition", et de vérifier si le paramètre "filename" y est
     * présent. Si oui, alors le champ traité est de type File et la méthode
     * retourne son nom, sinon il s'agit d'un champ de formulaire classique et
     * la méthode retourne null.
     */
    private static String getNomFichier( Part part ) {
        /* Boucle sur chacun des paramètres de l'en-tête "content-disposition". */
        for ( String contentDisposition : part.getHeader( "content-disposition" ).split( ";" ) ) {
            /* Recherche de l'éventuelle présence du paramètre "filename". */
            if ( contentDisposition.trim().startsWith( "filename" ) ) {
                /*
                 * Si "filename" est présent, alors renvoi de sa valeur,
                 * c'est-à-dire du nom de fichier.
                 */
                return contentDisposition.substring( contentDisposition.indexOf( '=' ) + 1 );
            }
        }
        /* Et pour terminer, si rien n'a été trouvé... */
        return null;
   
    }
}
 
MErci

Reply

Marsh Posté le 23-07-2013 à 12:30:33   

Reply

Marsh Posté le 27-08-2013 à 09:38:05    

Bah t'as une NullPointerException à la ligne 85 de ton fichier Upload.java...


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed