猿问

SSM框架整合无法找到DispatcherServlet问题

正在学习本网站的秒杀课程,按照老师的步骤搭建框架但运行时eclipse抛出异常。经过检查配置文件的拼写都没有问题(为了防止此问题从网上找了源码的配置文件又复制了一遍),maven依赖都已引入而且单元测试和集成测试都通过了就是运行tomcat后访问网站时报错,已经整了好长时间了请有经验的人指点。
严重: Allocate exception for servlet seckill-dispatcher
java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
	at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:520)
	at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:501)
	at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:120)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1095)
	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:817)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)

web.xml配置代码
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 
    version="3.1"
    metadata-complete="true">
	<!--配置DispatcherServlet-->
	<servlet>
		<servlet-name>seckill-dispatcher</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>		 
		<!--配置SpringMVC需要加载的配置文件
			spring-dao.xml spring-service.xml spring-web.xml
			Mybatis -> spring -> springMVC
		-->
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:spring/spring-*.xml</param-value>
		</init-param>
	</servlet>
	<servlet-mapping>
		<servlet-name>seckill-dispatcher</servlet-name>
		<!--默认匹配所有请求-->
		<url-pattern>/</url-pattern>
	</servlet-mapping>
</web-app>

spring-web.xml配置文件
<?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"
	   xmlns:mvc="http://www.springframework.org/schema/mvc"
	   xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
	<!-- 配置springMVC -->
	<!-- 1:开启springMVC注解模式-->
	<!-- 简化配置:
		(1)自动注册DefaultAnnotationHandlerMapping,AnnotationMethodHandlerAdapter
		(2)提供一系列:数据绑定,数字和日期的formet @NumberFormat,@DataTimeFormat,xml,json默认读写支持
	-->
	<mvc:annotation-driven/>
	
	<!--2:静态资源默认servlet配置
		(1)加入对静态资源的处理:js,gif,png
		(2)允许使用"/"做整体映射
	-->
	<mvc:default-servlet-handler/>
	
    <!--3:配置JSP 显示ViewResolver-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

    <!--4:扫描web相关的bean-->
    <context:component-scan base-package="org.seckill.web"/>
	
</beans>
水桶一号
浏览 8287回答 4
4回答

五五五五毛

我也遇到这个问题了 求解

慕勒7056572

maven web 项目中启动报错 Java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet主要原因是maven项目里面的jar包吗,没有导入到项目中maven web 项目中启动报错 Java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet 错误描述:Java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet问题解析:Maven项目中所有依赖(jdk/jar/classes)关系都被其管理。所以如果确定项目中确实存在该包或文件(org.springframework.web.servlet.DispatcherServlet),那必定是项目没有添加maven依赖所致。解决方案:项目属性->Deployment Assembly->Add->Java buid path entries->Next->Maven Dependencies Clear!此时Servers模块中的相关项目模块下多了个字节点spring-web-4.2.3.RELEASE.jar(web.xml中配置的Log4jConfigListener类所在的包)

慕粉1472827955

我也遇到了一样的问题,请问楼主最后怎么解决的?
随时随地看视频慕课网APP

相关分类

Java
WebApp
我要回答