La méthode getPart(Chaîne de caractères) n'est pas défini pour le type HttpServletRequest

J'ai travaillé sur Java web du projet dans lequel j'ai besoin de télécharger une image par le biais de la page JSP, et le stocker dans une base de données MySQL.
Je suis dans l'image en multipartites qui est disponible pour la Servlet 3.0 ou supérieur.

J'ai été en utilisant le getPart("image") pour obtenir l'image de la partie par partie, mais il me montre le message d'erreur suivant:
"La méthode getPart(Chaîne de caractères) n'est pas défini pour le type HttpServletRequest"

  • Le serveur, je suis en utilisant: Tomcat 7
  • L'IDE que j'utilise: Eclipse Luna

Voici les extraits de code:

ImageUploadServlet:

package com.nagarro.imagemanagementutility.controller;

import java.io.IOException;
import java.io.InputStream;

import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;

import com.nagarro.imagemanagementutility.util.Constants;

/**
* Servlet implementation class ImageUploadServlet
*/
@MultipartConfig(maxFileSize=Constants.MAX_FILE_SIZE)   //Upload image file     size upto 16 MB
public class ImageUploadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
 * @see HttpServlet#HttpServlet()
 */
public ImageUploadServlet() {
    super();
}

/**
 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
 */
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    InputStream inputStream = null;

    //obtains the upload image file in this multipart request
    Part imagePart = request.getPart("photo");
}

}

UserImageUtility.jsp

HTML:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Image Management Utility</title>
</head>
<body>
	<table border="1" align="center" width="900px">
		<tr>
			<td>
				<div align="center">
					<h3>Image Management Utility</h3>
				</div>
			</td>
		</tr>
		<tr>
			<td>
				<div>Please select an image file to upload (Max Size 1 MB)</div>
				&nbsp;
				<form action="ImageUploadServlet" method="post"
					enctype="multipart/form-data">
					<input type="file" name="image" size="50" />
					<div align="right">
						<input type="submit" name="sbtnSubmit" value="Submit" />
						<input type="button" name="btnCancel" value="Cancel" />
					</div>
				</form>
			</td>
		</tr>
	</table>
</body>
</html>

pom.xml:

HTML:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.nagarro</groupId>
<artifactId>Assignment_4_ImageManagementUtility</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>Assignment_4_ImageManagementUtility Maven Webapp</name>
<url>http://maven.apache.org</url>
<build>
<finalName>Assignment_4_ImageManagementUtility</finalName>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.nagarro.imagemanagementutility.controller.ApplicationLauncher</mainClass>
</manifest>
<manifestEntries>
<Class-Path>.</Class-Path>
</manifestEntries>
</archive>
<finalName></finalName>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0-alpha-1</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.3.8.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.8.Final</version>
</dependency>
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.1-901-1.jdbc4</version>
</dependency>
<!-- Hibernate uses slf4j for logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.10</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
</dependencies>
</project>

La liste des jar dans le répertoire "lib":
La méthode getPart(Chaîne de caractères) n'est pas défini pour le type HttpServletRequest

  • Erreur de compilation, c'est exact? Si oui, veuillez fournir votre pom.xml, de construire.gradle, liste des jarres dans lib/, etc-ce que vous utilisez pour la gestion de la dépendance.
  • Salut, j'ai ajouté la liste des pots dans la lib. En dehors de cela, j'ai ajoutés de manière externe le jars suivants: javax.servlet.jar, commons-fileupload-1.3.1.jar, commons-io-2.4.jar
InformationsquelleAutor shubh | 2015-02-21