Code Bye

No mapping found for HTTP request with URI

<!-- 启动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


50分
改为<url-pattern>/*</url-pattern>试下。
对了我想问下,<url-pattern>/*</url-pattern>和<url-pattern>/</url-pattern>有什么区别
我改了后,连首页都访问不了了

10分
你访问的url是什么
http://localhost:8080/spring_mybatis/hello
HTTP Status 404 –

type Status report

message

description The requested resource is not available.

Apache Tomcat/7.0.32
这是我的错误页面


10分
 <property name=”prefix” value=”/WEB-INF/views/” />这里最后又/

  @RequestMapping(“/hello”)//这里就应该是hello,不应该要/了。

其实我原来配置的视图解析器是freemarker和jsp的解析器,配了两个,freemarker的order是0,jsp的order是1,实现不同的视图解析,总是出现我说的错误,没办法,我改成了单一的jsp视图解析,还是那个错误,真没办法了

10分
多视图要配置多个DispatcherServlet才行。
不会吧,应该就一个DispatcherServlet。多视图是要配置多个视图解析器而已吧。还有一个情况啊,我发布我项目后,WEB-INF/class文件夹下是空的,正常吗,这种情况?

10分
当然不正常。没有部署好
不会是这个原因吧 
我就是正常部署的啊,在myeclipse中,那怎么办
忘了说了,我是用maven建的项目,然后按一般的项目在myeclipse中发布到tomcat中

10分
http://www.cnblogs.com/penguin-panda/archive/2011/07/09/2101880.html
兄弟,我也有这样的问题了,解决的了吗?求帮助!QQ 393922808
 我也是同样的问题啊,纠结老半天了
配置视图的时候最后有斜杠,在RequestMapping注解中不用在写斜杠了
引用 17 楼 a542550187 的回复:

 我也是同样的问题啊,纠结老半天了

我纠结半个月了,同样的方法建的工程,在家里的是好的,在公司的是坏的。肿么办呢,看了无数帖子都试了不起作用。。。

引用 18 楼 linjiang1987 的回复:

配置视图的时候最后有斜杠,在RequestMapping注解中不用在写斜杠了

哥们你说的看似有道理,但是事实上没什么分别。。。

同问一样的问题,在公司是好的在家里不行,家里用的是myeclipse 6.5 的maven插件 公司用的是eclipse maven 插件pom都是一样的 但就是家里不行访问不到controller,纠结了3、4天了就解决方案
引用 2 楼 Romantic_lyx 的回复:

对了我想问下,<url-pattern>/*</url-pattern>和<url-pattern>/</url-pattern>有什么区别

\

<url-pattern>/</url-pattern>的三种配置 
① 完全匹配
  <url-pattern>/test/list.do</url-pattern>  

② 路径匹配
  <url-pattern>/*</url-pattern> struts2匹配根路径下的全部请求

③ 扩展名匹配
  <url-pattern>*.do</url-pattern> struts1
  <url-pattern>*.html</url-pattern> 匹配全部html结尾的请求
  <url-pattern>*</url-pattern> 不能用*,否则报错

请确保views目录下有test.jsp文件。
springmvc的配置文件中添加<mvc:default-servlet-handler/>可以解决。
大哥,你是对着别人的例子做的是把?在第一个plain text code那里:

<!– 启动Spring的组件自动扫描机制 –>
<context:component-scan base-package=”com.usoft.synusn.controller“></context:component-scan>

com.usoft.synusn.controller这个包要改成你自己controller的包名,要不然扫不到类,我刚刚也是这个错误,然后改成自己的包名就好了。

我也是个小白。

我也遇到了这样的问题,然后我加了<mvc:default-servlet-handler/>
就好了,求告诉为什么
加<mvc标签是为了让SpringIOC容器支持各种注解,在SpringIOC命名空间那也要加上相应u的资源
<!– Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory –>
 
 <mvc:resources mapping=”/resources/**” location=”/resources/” /> 
  
这个配置告诉spring 静态资源的处理方式
我也遇到这样的问题,把<context:component-scan base-package=”xxx.yyy.zzz”>改成你controller层的上一级目录包就行了 ,
比如你的controller类全部放在com.org.yy下,你只要扫描到com.org.*下就行了 和hibernate的注解一个样,具体为什么我也没去研究
引用 10 楼 Romantic_lyx 的回复:

不会吧,应该就一个DispatcherServlet。多视图是要配置多个视图解析器而已吧。还有一个情况啊,我发布我项目后,WEB-INF/class文件夹下是空的,正常吗,这种情况?

你的项目应该没有编译。build一遍你的项目。

引用 24 楼 wangjianhui1 的回复:

在springmvc的配置文件中添加<mvc:default-servlet-handler/>可以解决。

这个是正解

/**
?*?freemarker控制器
?*?@author
?*?
?*/
freemarker类引用了错误的包,
import org.springframework.web.portlet.ModelAndView;改为——>import org.springframework.web.servlet.ModelAndView;
引用 29 楼 MAJINOBILI 的回复:

我也遇到这样的问题,把<context:component-scan base-package=”xxx.yyy.zzz”>改成你controller层的上一级目录包就行了 ,
比如你的controller类全部放在com.org.yy下,你只要扫描到com.org.*下就行了 和hibernate的注解一个样,具体为什么我也没去研究

正解

或者把head下面的这个东西删除
<base href="<%=basePath%>">
晕~~  问题搜都能搜到了。。。   就是请求返回的资源再次被dispatcherServlet  拦截处理了。
引用 24 楼 wangjianhui1 的回复:

在springmvc的配置文件中添加<mvc:default-servlet-handler/>可以解决。

这个牛b 可以找到页面了


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明No mapping found for HTTP request with URI