1. 程式人生 > >SSM報錯:No mapping found for HTTP request with URI [/smbms/js/echarts.js] in DispatcherServlet with na

SSM報錯:No mapping found for HTTP request with URI [/smbms/js/echarts.js] in DispatcherServlet with na

在jsp引用ECharts的js包:

啟動Tomcat,在位址列輸入URL:http://localhost:8080/smbms/user/linechart.html

結果頁面空白,報錯日誌部分資訊:

[DEBUG] 2017-11-11 09:32:33,160 org.springframework.web.servlet.DispatcherServlet - DispatcherServlet with name 'springmvc' processing GET request for [/smbms/js/echarts.js]
[DEBUG] 2017-11-11 09:32:33,160 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - Looking up handler method for path /js/echarts.js
[DEBUG] 2017-11-11 09:32:33,161 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - Did not find handler method for [/js/echarts.js]
[WARN] 2017-11-11 09:32:33,162 org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/smbms/js/echarts.js] in DispatcherServlet with name 'springmvc'
[DEBUG] 2017-11-11 09:32:33,162 org.springframework.web.servlet.DispatcherServlet - Successfully completed request

首先看一下我的web.xml配置:

可以看到,報錯資訊“No mapping found for HTTP request with URI [/smbms/js/echarts.js] in DispatcherServlet with name 'springmvc'”提示了說,springmvc找不到匹配HTTP請求的URI,即[/smbms/js/echarts.js進入了mvc,但是springmvc沒有找到與之匹配的處理方法,因此出錯。

解決辦法1:

在web.xml配置檔案:

<servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

後面加上如下程式碼:

<servlet-mapping>  
      <servlet-name>default</servlet-name>  
     <url-pattern>*.css</url-pattern>  
</servlet-mapping>  
   
<servlet-mapping>  
    <servlet-name>default</servlet-name>  
    <url-pattern>*.gif</url-pattern>   
 </servlet-mapping>  
      
 <servlet-mapping>  
     <servlet-name>default</servlet-name>  
     <url-pattern>*.jpg</url-pattern>  
 </servlet-mapping>  
      
 <servlet-mapping>  
     <servlet-name>default</servlet-name>  
     <url-pattern>*.js</url-pattern>  
 </servlet-mapping> 

重新啟動tomcat伺服器,執行輸入

報錯日誌資訊如下:

[DEBUG] 2017-11-11 10:21:00,640 org.springframework.web.servlet.DispatcherServlet - DispatcherServlet with name 'springmvc' processing GET request for [/smbms/user/linechart.html]
[DEBUG] 2017-11-11 10:21:00,640 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - Looking up handler method for path /user/linechart.html
[DEBUG] 2017-11-11 10:21:00,640 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - Returning handler method [public java.lang.String cn.smbms.controller.UserController.linechart()]
[DEBUG] 2017-11-11 10:21:00,640 org.springframework.beans.factory.support.DefaultListableBeanFactory - Returning cached instance of singleton bean 'userController'
[DEBUG] 2017-11-11 10:21:00,640 org.springframework.web.servlet.DispatcherServlet - Last-Modified value for [/smbms/user/linechart.html] is: -1
[DEBUG] 2017-11-11 10:21:00,641 cn.smbms.controller.UserController - UserController welcome 展示折線圖linechart=======================
[DEBUG] 2017-11-11 10:21:00,642 org.springframework.web.servlet.view.ContentNegotiatingViewResolver - Requested media types are [text/html;charset=UTF-8] based on Accept header types and producible media types [*/*])
[DEBUG] 2017-11-11 10:21:00,642 org.springframework.beans.factory.support.DefaultListableBeanFactory - Invoking afterPropertiesSet() on bean with name 'echarts/linechart'
[DEBUG] 2017-11-11 10:21:00,642 org.springframework.beans.factory.support.DefaultListableBeanFactory - Invoking afterPropertiesSet() on bean with name 'echarts/linechart.html'
[DEBUG] 2017-11-11 10:21:00,642 org.springframework.web.servlet.view.ContentNegotiatingViewResolver - Returning [org.springframework.web.servlet.view.JstlView: name 'echarts/linechart'; URL [/WEB-INF/jsp/echarts/linechart.jsp]] based on requested media type 'text/html;charset=UTF-8'
[DEBUG] 2017-11-11 10:21:00,642 org.springframework.web.servlet.DispatcherServlet - Rendering view [org.springframework.web.servlet.view.JstlView: name 'echarts/linechart'; URL [/WEB-INF/jsp/echarts/linechart.jsp]] in DispatcherServlet with name 'springmvc'
[DEBUG] 2017-11-11 10:21:00,642 org.springframework.web.servlet.view.JstlView - Forwarding to resource [/WEB-INF/jsp/echarts/linechart.jsp] in InternalResourceView 'echarts/linechart'
[DEBUG] 2017-11-11 10:21:00,647 org.springframework.web.servlet.DispatcherServlet - Successfully completed request

這說明js檔案正常引用了。