没有找到带有URI的HTTP请求的映射:在Spring MVC应用程序中

Rav*_*avi 6 spring-mvc

我收到了这个错误.

我的web.xml有这个

<servlet>
  <servlet-name>springweb</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
   <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/web-application-config.xml</param-value>
   </init-param>
  <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
  <servlet-name>springweb</servlet-name>
  <url-pattern>/app/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

我在我的web-application-config.xml中有这个

<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
       <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
</bean>

<bean name="/Scheduling.htm" class="com.web.SchedulingController"/>
Run Code Online (Sandbox Code Playgroud)

我的com.web.SchedulingController看起来像这样

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package com.web; 

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;


public class SchedulingController implements Controller{

public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {

    ModelAndView modelAndView = new ModelAndView("/jsp/Scheduling_main.jsp");
    modelAndView.addObject("message","Hello World MVC!!");
    return modelAndView;
}
}
Run Code Online (Sandbox Code Playgroud)

当我使用URL http:// localhost:8080/project1/app/Scheduling.htm命中此控制器时, Scheduling_main.jsp会显示,但图像显示不正确.js和css文件也没有被渲染.

我正在访问这样的图像

<img src="jquerylib/images/save_32x32.png" title="Save Appointment">
Run Code Online (Sandbox Code Playgroud)

如果我将servlet定义中的URL映射更改为*.htm,则图像显示正常.你能指出我错过的地方吗?

这是完整的错误消息

WARN  [PageNotFound] No mapping found for HTTP request with URI [/mavenproject1/app/jquerylib/images/save_32x32.png] in DispatcherServlet with name 'springweb'
Run Code Online (Sandbox Code Playgroud)

非常感谢.拉维

Ale*_*dov 8

我认为这是因为你尝试通过servlet获取你的图像(映射为/ app/*)你需要获取静态内容而不用servlet处理它,例如set image source to

<img src="../jquerylib/images/save_32x32.png" title="Save Appointment">

然后你的图像的真实URI将是/mavenproject1/jquerylib/images/save_32x32.png,它将由你的tomcat本身返回,没有任何处理.