您的位置:首页 > 理论基础 > 计算机网络

Spring MVC No mapping found for HTTP request with URI

2013-06-19 17:03 561 查看
No mapping found for HTTP request with URI

如:

 <!-- dispatcherServlet 配置 -->

  <servlet>

        <servlet-name>dispatcher</servlet-name>

        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

        <init-param>

            <param-name>contextConfigLocation</param-name>

            <param-value>/WEB-INF/config/dispatcher-servlet.xml</param-value>

        </init-param>

        <load-on-startup>1</load-on-startup>

    </servlet>

    <servlet-mapping>

        <servlet-name>dispatcher</servlet-name>

        <url-pattern>/*</url-pattern>

    </servlet-mapping>

出现这个问题的原因是:web.xml配置文件中url-pattern配置的是:/*,在controller对视图(index.jsp)进行分发的时候,又被当成一个请求被dispatcher拦截器给拦截了。

解决方式:

1.把/* 改成/*.do,/*.htm等 带后缀形式的。

2.把/* 改成/,在dispatcher-servlet.xml中加上<mvc:annotation-driven/>,<mvc:default-servlet-handler/>(注册web默认Servlet);这样配置,静态资源则交予web服务器默认servlet处理,其他请求由dispatcher处理;这样就不会出现静态资源找不到的问题,且保持了REST完美风格。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: