java.lang.ClassNotFoundException:spring项目中的org.springframework.web.servlet.DispatcherServlet

时间:2013-06-29 14:06:11

标签: java

一个hello.jsp

web.xml是

<?xml version="1.0" encoding="UTF-8"?>

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd”     版本= “3.0” &GT;

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

<!-- The front controller of this Spring Web application, responsible for 
    handling all application requests -->
<servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>

</servlet>

<!-- Map all requests to the DispatcherServlet for handling -->
<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>*.html</url-pattern>
</servlet-mapping>

dispatcher-servlet.xml是

<?xml version="1.0" encoding="UTF-8"?>

http://www.springframework.org/schema/beans/spring-beans-2.5.xsd“

xmlns:p="http://www.springframework.org/schema/p">

<bean id="viewResolver"

    class="org.springframework.web.servlet.view.InternalResourceViewResolver">

    <property name="prefix">

        <value>/WEB-INF/jsp/</value>

    </property>

    <property name="suffix">

        <value>.jsp</value>

    </property>

</bean>
<bean name="/hello.html" class="com.spring.HelloWorldController"></bean>
</beans>

JAR文件是: 的spring.jar 弹簧webmvc.jar 春天的AOP 弹簧豆 春天上下文 弹簧上下文支持 弹簧核心 弹簧JDBC 弹簧ORM 弹簧源 弹簧试验 弹簧-TX

5 个答案:

答案 0 :(得分:8)

ClassNotFoundException清楚地表明您缺少org.springframework.web.servlet个课程。

如果您不使用 Maven ,请确保包含所有相应的 Spring JAR。

如果您使用 Maven ,请确保包含spring-web依赖项:

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version><!-- Your spring version here --></version>
    </dependency>

如果这些都不起作用,take a look at this thread

答案 1 :(得分:1)

在我的情况下,我使用常春藤,我遇到了同样的问题。你可以做两个中的任何一个

  1. 将库移动到 WEB-INF / lib 。因为这是 Eclipse搜索相应jar的文件夹。 OR
  2. 让Eclipse知道它可以从ivy库文件夹中搜索jar 这与 WEB-INF / lib 不同,即通过Project属性在Deployment Assembly中更改java构建路径。
  3. 对于第二种方法,您可以参考details post with screenshots(链接到我的个人博客更多详情)。或者您也可以通过类似问题我提出here

答案 2 :(得分:0)

问题: java.lang.ClassNotFoundException:spring项目中的org.springframework.web.servlet.DispatcherServlet

问题是必要的jar在正确的类路径中不存在

解决方案

将所有必要的jar放在classpath中。由于项目是动态的webproject,所有的spring jar都放在WEB-INF / Lib文件夹中

问题将得到重新解决

答案 3 :(得分:0)

我有类似的问题,我这样解决了。如果添加了所有必需的库,您仍然会收到此错误。尝试在命令行中运行它:

.{2,4}

然后

$wp_attached_file = 'sssssssssssssssssssssssssssssssssssssssssssss.txt';
echo preg_replace('/(.{3}).*(\..{2,4})/', '$1...$2', $wp_attached_file);

如果这不解决它,请右键单击您的eclipse项目, 转到&gt;&gt;属性&gt;&gt;目标运行时 然后单击

旁边的复选框
  

apache tomcat v8.0

取决于你tomcat的版本。 如果您正在运行jboss,请选择jboss版本。 然后再运行上面的两个命令(mvn eclipse:eclipse和mvn clean install)。

答案 4 :(得分:-1)

问题:Spring项目中的java.lang.ClassNotFoundException:org.springframework.web.servlet.DispatcherServlet。

通过将以下jar添加到WEB-INF / Lib文件夹中,我们可以解决此问题。

org.springframework.asm-3.1.4.RELEASE.jar
org.springframework.aspects-3.1.4.RELEASE.jar
org.springframework.beans-3.1.4.RELEASE.jar
org.springframework.context-3.1.4.RELEASE.jar
org.springframework.context.support-3.1.4.RELEASE.jar
org.springframework.core-3.1.4.RELEASE.jar
org.springframework.web.struts-3.1.4.RELEASE.jar
org.springframework.web.servlet-3.1.4.RELEASE.jar
org.springframework.web-3.1.4.RELEASE.jar

当然,您将被添加到构建路径中,但它只需要编译时间。所以我们必须将上面的jar添加到WEB-INF / Lib文件夹