我正在做我的第一个将Spring REST与hibernate集成的Web应用程序。我有单独的html + css + jquery网站,它处理我的RESTful WebService。我的问题是:
我一步一步地完成了我现在所拥有的结果。最后,当我运行Tomcat时,它运行正常。然后我使用IntelliJ IDEA构建的REST客户端并检查最简单和唯一的一个url:localhost:8080 / room并收到404。 我在google上找到了一些从web.xml中删除的建议 - 我做到了。现在,当我第一次运行我的Tomcat并测试上面的url时,它会提供一个堆栈跟踪:http://pastebin.com/EMPDVCBy,然后每次下一次404:Servlet dispatcherServlet不可用
之前我收到过:java.lang.ClassNotFoundException:org.springframework.web.servlet.DispatcherServlet
但我甚至不知道怎么回事,它因某种原因而改变了。 我试着解决这个问题大约2天,不知道这个问题是什么。我已经输入了它给我的每个可能的谷歌链接。什么都没有帮助。
早些时候,当只有Spring项目时 - 它已经正常工作。添加实体,依赖于休眠,不同的侧库(依赖于它们),DAO等等 - 它开始引起问题。
我也注意到,在开始集成hibernate和spring之后,我经常收到堆栈跟踪,这经常告诉我一些ClassNotFoundException。来自不同的地方,即使我已经添加了适当的依赖项。
不知道我做错了什么。解决这个问题对我来说非常重要。 感谢您的帮助。
我明白,你需要我的代码,但它是如此之多,以至于长篇大论:)告诉我你需要什么我会在这里发布
编辑 也许是最重要的文件,我认为:web.xml
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
metadata-complete="true">
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<filter>
<filter-name>responseFilter</filter-name>
<filter-class>com.maciej.filters.ResponseOriginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>responseFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
过滤器是我自己的过滤器,可为每个响应添加标头。我认为没有什么大而重要的。当我删除这些行时,它没有帮助。
片刻之前,我从intellij中删除了我的tomcat,删除了我的工件并从头开始创建了所有内容。现在在localhost:8080 /房间我收到巨大的堆栈跟踪:http://pastebin.com/aMHqz40R
答案 0 :(得分:0)
我有同样的问题,终于解决了。
Hibernate 4可以在没有注释和共同注释的两个依赖项的情况下工作。因此,如果您的pom中有任何注释依赖项,则将其删除并确保它们不属于它。我的工作是
<properties>
<spring.version>4.0.5.RELEASE</spring.version>
<junit.version>4.11</junit.version>
<jdk.version>1.6</jdk.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- Spring dependencies -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- Servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0-alpha-1</version>
</dependency>
<!-- JSTL -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- Apache Commons Upload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.2</version>
</dependency>
<!-- Apache Commons Upload -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
<!-- MYSQL dependency -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<!-- Hibernate -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.5.Final</version>
</dependency>
<!-- If using JPA (2), add: -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.5.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.5.6</version>
</dependency>
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.18.1-GA</version>
</dependency>
</dependencies>