可恶的 No mapping found for HTTP request with URI,解决了一晚上,没有解决,疯了

鑫鑫哥哥呀 2013-03-23 03:49:21
<!-- 启动SpringMVC的注解功能,它会自动注册HandlerMapping、HandlerAdapter、ExceptionResolver的相关实例 -->
<mvc:annotation-driven />
<mvc:default-servlet-handler />
<!-- 启动Spring的组件自动扫描机制 -->
<context:component-scan base-package="com.usoft.synusn.controller"></context:component-scan>


<!--通用视图解析器 -->
<bean id="viewResolverCommon"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="order" value="1" />
</bean>
<!-- SpringMVC的前端控制器 -->
<servlet>
<servlet-name>spring-mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<!-- <param-value>classpath*:applicationcontext-webmvc.xml,classpath*:applicationcontext-freemarker.xml</param-value> -->
<param-value>classpath*:applicationcontext-web.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>spring-mvc</servlet-name>
<!-- 由SpringMVC拦截所有请求 -->
<url-pattern>/</url-pattern>
</servlet-mapping>
/**
* freemarker控制器
* @author
*
*/
@Controller
public class FreeMarkerControler {

@RequestMapping("/hello")
public String sayHello(ModelMap map) {
System.out.println("say Hello ……");
map.addAttribute("message", "Hello World,FreeMarker!");
return "test";
}
}


这是我的配置文件和controller,我没发现有什么错误,可总是 No mapping found for HTTP request with URI
...全文
263273 46 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
46 条回复
切换为时间正序
请发表友善的回复…
发表回复
mchtnwn 2015-12-11
  • 打赏
  • 举报
回复
右键项目名-》build project
Jash_Qi 2015-12-09
  • 打赏
  • 举报
回复
可能是因为没有指定WEB工程的Build Path导致。由于,有些版本的ECLIPSE默认没有将WEB工程的CLASSPATH设置为WEB-INFO/classes,所以编译的Serlvet类就不在该路径下。而tomcat的web工程部署默认在该路径下寻找Servlet类,因而即使web.xml中正确配置了url-pattern也将出现上述错误。
cz596738622 2015-11-08
  • 打赏
  • 举报
回复
加个ResponseBody注解试试
caikangying 2015-11-08
  • 打赏
  • 举报
回复
引用 37 楼 yunxishuoyu 的回复:
[quote=引用 25 楼 sekift 的回复:] 大哥,你是对着别人的例子做的是把?在第一个plain text code那里: <!-- 启动Spring的组件自动扫描机制 --> <context:component-scan base-package="com.usoft.synusn.controller"></context:component-scan> com.usoft.synusn.controller这个包要改成你自己controller的包名,要不然扫不到类,我刚刚也是这个错误,然后改成自己的包名就好了。 我也是个小白。
我的是改base-package为自己的包名就好了[/quote] 看来看看帖子还是不错的
兰色季节 2015-09-08
  • 打赏
  • 举报
回复
我也是这个问题,之前做了一个可以正常使用的工程,然后自己照着之前做的再做一次就死活报“No mapping found”这个错,怀疑是自己哪个地方写错了,照着原样复制的然后问题依旧,奇怪的是自己在MyEclipse里运行结果就是正常的。 在j2ee eclipse中就跪了,我真是服了~
wobpaa 2015-07-10
  • 打赏
  • 举报
回复
根据上面的回复加上如下代码
<mvc:default-servlet-handler ></mvc:default-servlet-handler>
后确实可以访问到资源了,但是还存在其他问题,我访问的所有资源都当静态资源了,我的jsp变成了。
<%@ page language="java" contentType="text/html; charset=UTF-8" 
pageEncoding="UTF-8"%>  ${message } 
起初我的web.xml的配置如下:

<servlet>
		<servlet-name>springmvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>springmvc</servlet-name>
		<url-pattern>/*</url-pattern>
	</servlet-mapping>
修改为
<servlet>
		<servlet-name>chapter2</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>chapter2</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
后可以正常访问到我的jsp页面,并且不在未编译的内容。 具体为什么我也说不清楚,如果谁明白为什么请回复我。
wobpaa 2015-07-10
  • 打赏
  • 举报
回复
上面我这回复,好像不能使用其他地方,换个地方加的东西问题就又出现了。 经过一天对依赖的排除后发现,当我加上Spring-tx后所有问题都解决了。 不需要加
<mvc:default-servlet-handler ></mvc:default-servlet-handler>
只加入下依赖

                       <dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-tx</artifactId>
				<version>${spring.version}</version>
			</dependency>
qzxve 2015-06-26
  • 打赏
  • 举报
回复
没引入j2ee包也会出现这种情况
lkh12400 2015-06-12
  • 打赏
  • 举报
回复
引用 25 楼 sekift 的回复:
大哥,你是对着别人的例子做的是把?在第一个plain text code那里: <!-- 启动Spring的组件自动扫描机制 --> <context:component-scan base-package="com.usoft.synusn.controller"></context:component-scan> com.usoft.synusn.controller这个包要改成你自己controller的包名,要不然扫不到类,我刚刚也是这个错误,然后改成自己的包名就好了。 我也是个小白。
擦,我自己拷贝自己的也遇到这个问题,纠结了我几个小时,看到兄弟这番话才恍然大悟,哎。。copy不是万能的啊
yunxishuoyu 2015-04-08
  • 打赏
  • 举报
回复
引用 25 楼 sekift 的回复:
大哥,你是对着别人的例子做的是把?在第一个plain text code那里: <!-- 启动Spring的组件自动扫描机制 --> <context:component-scan base-package="com.usoft.synusn.controller"></context:component-scan> com.usoft.synusn.controller这个包要改成你自己controller的包名,要不然扫不到类,我刚刚也是这个错误,然后改成自己的包名就好了。 我也是个小白。
我的是改base-package为自己的包名就好了
sxlswjh 2015-03-25
  • 打赏
  • 举报
回复
引用 24 楼 wangjianhui1 的回复:
在springmvc的配置文件中添加<mvc:default-servlet-handler/>可以解决。
这个牛b 可以找到页面了
有七天 2015-01-08
  • 打赏
  • 举报
回复
晕~~ 问题搜都能搜到了。。。 就是请求返回的资源再次被dispatcherServlet 拦截处理了。
穿鞋的刀客 2014-12-09
  • 打赏
  • 举报
回复
或者把head下面的这个东西删除
<base href="<%=basePath%>">
Sauron1 2014-11-28
  • 打赏
  • 举报
回复 1
引用 29 楼 MAJINOBILI 的回复:
我也遇到这样的问题,把<context:component-scan base-package="xxx.yyy.zzz">改成你controller层的上一级目录包就行了 , 比如你的controller类全部放在com.org.yy下,你只要扫描到com.org.*下就行了 和hibernate的注解一个样,具体为什么我也没去研究
正解
悟空程序 2014-11-20
  • 打赏
  • 举报
回复
/**  * freemarker控制器  * @author  *   */ freemarker类引用了错误的包, import org.springframework.web.portlet.ModelAndView;改为——>import org.springframework.web.servlet.ModelAndView;
AgehacatBeelzebub 2014-11-16
  • 打赏
  • 举报
回复 1
引用 24 楼 wangjianhui1 的回复:
在springmvc的配置文件中添加<mvc:default-servlet-handler/>可以解决。
这个是正解
darkshaddock 2014-10-21
  • 打赏
  • 举报
回复
引用 10 楼 Romantic_lyx 的回复:
不会吧,应该就一个DispatcherServlet。多视图是要配置多个视图解析器而已吧。还有一个情况啊,我发布我项目后,WEB-INF/class文件夹下是空的,正常吗,这种情况?
你的项目应该没有编译。build一遍你的项目。
majinobili 2014-09-24
  • 打赏
  • 举报
回复
我也遇到这样的问题,把<context:component-scan base-package="xxx.yyy.zzz">改成你controller层的上一级目录包就行了 , 比如你的controller类全部放在com.org.yy下,你只要扫描到com.org.*下就行了 和hibernate的注解一个样,具体为什么我也没去研究
jktangyoucai 2014-08-08
  • 打赏
  • 举报
回复
<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory --> <mvc:resources mapping="/resources/**" location="/resources/" /> 这个配置告诉spring 静态资源的处理方式
帅锅锅660 2014-06-30
  • 打赏
  • 举报
回复
加<mvc标签是为了让SpringIOC容器支持各种注解,在SpringIOC命名空间那也要加上相应u的资源
加载更多回复(26)

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧