Question

Je vais avoir beaucoup de mal à traiter les demandes de données-multipart / form avec mon serveur d'applications Java. D'après ce que j'ai découvert, le servlet 3.0 spécification fournit des méthodes telles que HttpServletRequest.getParts (), ce qui serait idéal pour le traitement des données de formulaire téléchargées sur mon servlet.

Cependant, cette méthode fait partie de la spécification 3.0 servlet, et mon serveur d'applications (Tomcat 6) ne supporte pas encore. Même avec un fichier 3.0 web.xml valide et le Java EE 6 libs, je reçois l'exception suivante lorsque vous essayez de getParts d'appel ():

java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getParts()Ljava/util/Collection;

Commutation des serveurs d'application n'est pas vraiment une option réalisable pour ce projet. Y a-t-il des bibliothèques tierces disponibles pour le traitement multipart / form-data dans les servlets Java?

Était-ce utile?

La solution

Consultez Apache Commons FileUpload . Il vous donne une API de programmation pour analyser une demande de multipart et itérer à travers les parties de celui-ci individuellement.

Je l'ai utilisé dans le passé pour le traitement multipart simple et il fait le bien du travail sans être trop compliqué.

Autres conseils

Tomcat 6 ne fonctionne pas et ne soutiendra pas Servlet 3.0 Spécification . Vous devriez essayer de faire cela sur Tomcat 7, mais je ne suis pas vraiment sûr que cette fonctionnalité est présente dans la version bêta qui est actuellement disponible. La fonctionnalité devrait être présente dans la version de production bien.

Vous pourriez continuer à utiliser Apache Commons FileUpload comme affiché dans l'autre réponse, ou vous pouvez utiliser Glassfish (en fonction de la phase actuelle et le type de votre projet).

lorsque nous avons utilisé la méthode après que les données sont cryptées afin que nous devons servletfileupload pour obtenir des données utilisées et demandées à l'aide FileItemIterator nous pouvons obtenir toutes les données de formulaire.

Je réponds déjà sur ce lien Comment traiter un formulaire envoyé Google Web Toolkit dans un servlet

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top