springmvc 双亲上下文导致的 No mapping found for HTTP request

今天搭建spring mvc ,结果发出请求总是No mapping found for HTTP request with URI [******]

于是开始排查了半天,后来在网上搜到了双亲上下文的概念,

才知道springmvc的每一个DispatcherServlet都会产生一个WebApplicationContext(子上下文),

它与Spring初始化生成的WebApplicationContext(父上下文)同时保存在ServletContext中

而所有的controller对象必须存放在springmvc的子上下文中,否则无法找到:No mapping found for HTTP request。

  • 在父上下文中(applicationContext.xml),将Controller的注解排除掉
<context:component-scan base-package="com">
  <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
</context:component-scan> 

在springMVC配置文件中只扫描controller

<context:component-scan base-package="org.apollo.controller">
  <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>

而且如果父上下文中的service配置了事务,则子上下文中不能在扫描service对象,否则会产生service事务失效。

时间: 2024-10-24 06:25:30

springmvc 双亲上下文导致的 No mapping found for HTTP request的相关文章

java springmvc No mapping found for HTTP request with URI

最近,想写一个全文搜索的工具,想着就是用springMVC+lucene+tika来完成,当把整个架构都搭建好了以后,发现springmvc配置的control总是映射不到,总是报No mapping found for HTTP request with URI,导致无法执行逻辑层: 经过两天的不断尝试(期间spring源码都翻看了一些,而且通过调试spring代码找原因,最终也没找到),偶然之间觉得使用maven的clean和install的方式打成war试了一下,居然问题不存在了.考虑了一

[org.springframework.web.servlet.PageNotFound] -No mapping found for HTTP request with URI [/homework/js/jquery-1.7.2.min.js] in DispatcherServlet with name &#39;SpringMVC&#39;

先上解决方案:对于上面出现的问题,查看了很多相关的博客,论坛.最后实在Spring-mvc.xml这个配置文件里加入了如下两行: 1 <mvc:annotation-driven /> 2 <mvc:default-servlet-handler /> 问题描述: 由于项目需要Ajax,于是在jsp的head里加入了如下代码: 1 <script type="text/javascript" src="/homework/js/jquery-1.

相对路径获取项目文件 及报错 No mapping found for HTTP request with URI XXX in DispatcherServlet with name ‘springmvc’解决方法

首先一点,WebRoot目录下的文件是都可以通过浏览器输入路径,直接读取到的 例如这样: 而WebRoot下面WEB-INF是无法浏览器输入路径直接读取的. 因为是受保护的. 如果jsp读取一个图片的话. jsp在WebRoot/jsp下 图片在WebRoot/imag下 那么就要../imag/xx.jpg获取相对路径. 因为servlet程序是无法读取C:\xx\xx\xx这样的绝对路径的. 除非更改tomcat配置文件,但我觉得那样完全没有意义. 另外,要注意你请求的路径是否被拦截. 例如

org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [XXX] in DispatcherServlet with name &#39;springMVC&#39;

在web.xml中添加 <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.ico</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.png<

springmvc No mapping found for HTTP request with URI in Dispatc

项目是使用spring MVC (1)在浏览器中访问,后台总报错: Java代码   No mapping found for HTTP request with URI [/exam3/welcome] in DispatcherServlet with name 'spring2' 查了好半天,才发现是controller 没有扫描到. 我是使用的注解. spring mvc配置文件如下: Xml代码   <?xml version="1.0" encoding="

spring和springMVC的上下文

上下文可以替代注解, 但是注解更方便 package com.tgb.web.controller; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import

SpringMVC - 问题. No mapping found for HTTP request with URI

<bean id="viewResolver"        class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="prefix" value="/WEB-INF/html/" />        <property name="suffix&qu

No mapping found for HTTP request with URI [/Portal/download] in DispatcherServlet with name &#39;springmvc&#39;

本文为博主原创,未经允许不得转载: 遇到这个异常,总结一下这个问题发生的原因: 这个原因是在springmvc中在DispatcherServlet分发请求时,解析不到相应的请求路径.后台要请求的路径应该是"/portal/download", 由于portal中的第一个单词大写了,在请求的时候就没解析到路径,所以报此错. 修改过之后就可以正常请求了. 还有报此异常的可能是由于在springmvc扫描注解时,没有扫描到也会报此错误. No mapping found for HTTP

springmvc搭建环境时报No mapping found for HTTP request with URI [/exam3/welcome] in DispatcherServlet with name &#39;spring2&#39;

项目是使用spring MVC (1)在浏览器中访问,后台总报错: Java代码   No mapping found for HTTP request with URI [/exam3/welcome] in DispatcherServlet with name 'spring2' 查了好半天,才发现是controller 没有扫描到. 我是使用的注解. spring mvc配置文件如下: Xml代码   <?xml version="1.0" encoding="