0

一个hello.jsp

web.xml 是

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

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">

<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 spring-webmvc.jar spring-aop spring-beans spring-context spring-context-support spring-core spring-jdbc spring-orm spring-source spring-test spring-tx

4

5 回答 5

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>

如果这些都不起作用,请查看此线程

于 2013-06-29T14:45:34.230 回答
2

就我而言,我使用了常春藤,我遇到了同样的问题。你可以做这两个中的任何一个

  1. 将您的库移动到WEB-INF/lib。因为这是 Eclipse 搜索相应 jar 的文件夹。或者
  2. 让 Eclipse 知道它可以从与WEB-INF/lib不同的 ivy 库文件夹中搜索 jar,即通过项目属性更改部署程序集中的 java 构建路径。

对于第二种方法,您可以参考带有屏幕截图的详细信息帖子(链接到我的个人博客,了解更多详细信息)。或者你也可以通过我在这里问过的类似问题。

于 2014-05-20T18:05:11.570 回答
0

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

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

解决方案

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

该问题将得到解决

于 2013-12-31T13:55:28.357 回答
0

我有一个类似的问题,我以这种方式解决了它。如果添加了所有必需的库并且您仍然收到此错误。尝试在命令行中运行它:

mvn eclipse:eclipse

然后

mvn clean install

如果这不能解决它,请右键单击您的 Eclipse 项目,转到 >> 属性 >> 目标运行时,然后单击旁边的复选框

apache tomcat v8.0

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

于 2015-09-16T04:57:05.707 回答
-1

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

通过将以下 jars 添加到 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

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

于 2014-01-30T15:43:45.980 回答