首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >org.springframework.web.servlet.DispatcherServlet :java.lang.ClassNotFoundException

org.springframework.web.servlet.DispatcherServlet :java.lang.ClassNotFoundException
EN

Stack Overflow用户
提问于 2012-06-27 21:30:59
回答 18查看 347.4K关注 0票数 92

我使用的是Spring3.1.0版本的,我的servlet容器是Tomcat7,我的集成开发环境是eclipse indigo,包含servlet的jar servlet存在于DispatcherServlet文件夹中,但是在运行应用程序时,我得到了一个异常:

代码语言:javascript
运行
复制
java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:525)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:507)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:126)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1099)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1043)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4957)
    at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5284)
    at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5279)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)

请告诉我为什么会得到这个异常,以及如何修复它。

编辑:以下是我的配置文件:

1- .springBeans:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<beansProjectDescription>
    <version>1</version>
    <pluginVersion><![CDATA[2.9.0.201203011806-RELEASE]]></pluginVersion>
    <configSuffixes>
        <configSuffix><![CDATA[xml]]></configSuffix>
    </configSuffixes>
    <enableImports><![CDATA[false]]></enableImports>
    <configs>
        <config>src/main/webapp/WEB-INF/checkout-servlet.xml</config>
    </configs>
    <configSets>
    </configSets>
</beansProjectDescription>

2- web.xml:

代码语言:javascript
运行
复制
<web-app>
  <display-name>Checkout</display-name>

  <servlet>
    <servlet-name>checkout</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>checkout</servlet-name>
    <url-pattern>*.action</url-pattern>
  </servlet-mapping>

</web-app>

Servlet.xml 3-checkout-

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">

    <context:component-scan base-package="com.myapp"/>

    <bean id="myService" class="com.myapp.MyService"/>

</beans>

此外,当尝试访问应用程序中的任何页面时,我都会得到一个异常:

代码语言:javascript
运行
复制
HTTP Status 404 - Servlet checkout is not available

type Status report

message Servlet checkout is not available

description The requested resource (Servlet checkout is not available) is not available.
Apache Tomcat/7.0.22
EN

回答 18

Stack Overflow用户

回答已采纳

发布于 2012-06-28 16:54:54

我发现在部署程序集中,有以下条目:

代码语言:javascript
运行
复制
[persisted container] org.maven.ide.eclipse.maven2_classpath_container

我删除了它,并添加了maven dependencies条目,现在它工作得很好。

票数 11
EN

Stack Overflow用户

发布于 2012-10-16 16:53:39

您需要在部署程序集中添加"Maven依赖项“

在项目上单击鼠标右键,然后选择“properties.

  • click on Deployment Assembly.

  • click add

  • Finish”,然后单击"Java Build Path Entries"

  • select Maven Dependencies"

  • click

  • .

重新构建并重新部署

注意:这也适用于非maven项目。

票数 256
EN

Stack Overflow用户

发布于 2012-06-28 05:49:28

两种可能的答案:

1-您的库中没有包含spring-beans和spring-context jar。如果您使用的是maven (这会有很大帮助),那么这两行代码就足够了。

代码语言:javascript
运行
复制
<dependency>
 <groupId>org.springframework</groupId>
  <artifactId>spring-context</artifactId>
   <version>3.1.0.RELEASE</version>
</dependency>
<dependency>
 <groupId>org.springframework</groupId>
  <artifactId>spring-webmvc</artifactId>
   <version>3.1.0.RELEASE</version>
</dependency>

2-必要的jars在您的类路径中,但没有部署在tomcat上。

票数 34
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11227395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档