java.lang.NoSuchMethodError:javax.servlet.http.HttpServletRequest.getPart(Ljava / lang / String;)Ljavax / servlet / http / Part;

时间:2015-12-24 19:15:18

标签: java maven servlets

这个问题多次询问堆栈溢出并且我检查了所有并尝试了其他人说除去上述错误之外的所有可能性但仍未弄清楚。 Servlet api-3.1,使用Maven构建工具,JRE 1.7使用,我的web-inf文件夹包含与我在pom.xml文件中定义的相同的javax.servlet 3.1。

这是我的pom.xml文件

<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.ebooks</groupId>
  <artifactId>project</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>InsaneNerds Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>



     <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
        <scope>provided</scope>
</dependency>


    <dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.2</version>
</dependency>

    <dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-io</artifactId>
    <version>1.3.2</version>
</dependency>







       <dependency>  
       <groupId>javax</groupId>  
       <artifactId>javaee-api</artifactId>  
       <version>6.0</version>  
       <scope>provided</scope>  
     </dependency> 


       <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>1.7.1</version>
    </dependency>

        <dependency>  
    <groupId>org.hibernate</groupId>  
    <artifactId>hibernate-core</artifactId>  
    <version>4.1.9.Final</version>  
</dependency>  

<dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.9</version>
    </dependency>
    <dependency>
    <groupId>com.restfb</groupId>
    <artifactId>restfb</artifactId>
    <version>1.17.0</version>
</dependency>


    <dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4</version>
</dependency>


  </dependencies>
  <build>
    <finalName>project</finalName>
  </build>
</project>

我想要上传文件并将其存储在我的sql数据库中,我使用本教程http://www.codejava.net/coding/upload-files-to-database-servlet-jsp-mysql来执行此操作,但我遇到了错误。

我尝试了什么: - 我检查了我的依赖性 2.我的Web-INF文件夹 3.所有可能的解决方案,即在互联网上提供但仍未弄清楚。

是否还有其他方法可以从html上传文件并将其存储在mysql数据库中。 有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

您将servlet-api标记为provided - 正如您所希望的那样 - 但这意味着您依赖于应用程序服务器提供的版本。 (provided说“不要将此库捆绑在WAR中;应用服务器将提供它。”)您还没有说过您正在使用的应用服务器或版本,但是它是例如,Tomcat 5.5,然后我对这个错误并不感到惊讶,因为这个方法是在servlet规范的3.0中添加的。

答案 1 :(得分:0)

当我使用servlet 3.0规范但pom有3.1

时,它发生在我身上