1. 程式人生 > >spring MVC 報錯:java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet

spring MVC 報錯:java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet

重新 chain http1 accesslog instance report ppc springmvc bstr

嚴重: Allocate exception for servlet SpringMVC
java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1892)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:504)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:486)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:113)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1133)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:853)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:134)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:958)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

第一次搭建springMVC,嘗試的第一個接口就報這個錯,小菜鳥就有點慌了,一直是照著視頻做的,不知道哪一步錯了。

看著異常就是缺一個類,org.springframework.web.servlet.DispatcherServlet,這個類的作用可是大大滴。

DispatcherServlet主要用作職責調度工作,本身主要用於控制流程,主要職責如下:

1、文件上傳解析,如果請求類型是multipart將通過MultipartResolver進行文件上傳解析;

2、通過HandlerMapping,將請求映射到處理器(返回一個HandlerExecutionChain,它包括一個處理器、多個HandlerInterceptor攔截器);

3、通過HandlerAdapter支持多種類型的處理器(HandlerExecutionChain中的處理器);

4、通過ViewResolver解析邏輯視圖名到具體視圖實現;

5、本地化解析;

6、渲染具體的視圖等;

7、如果執行過程中遇到異常將交給HandlerExceptionResolver來解析。

從以上我們可以看出DispatcherServlet主要負責流程的控制

回顧一下之前的知識就知道是這個類是配置在web.xml中的,

技術分享

crtl+左鍵點擊,確實打不開,再重新將其jar包導入,OK,完美解決

技巧:crtl+左鍵點擊,可以在配置文件中確定對應的類是否有被順利引入。

spring MVC 報錯:java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet