zoukankan      html  css  js  c++  java
  • 0055 <mvc:default-servlet-handler />不能同时访问静态资源和动态资源的问题

    刚才在折腾的时候,发现applicationContext.xml中配置了<mvc:default-servlet-handler />后,能访问静态资源,却不能访问动态资源了;注释掉之后,不能访问静态却能访问动态资源。

    找了些资料都说,如果把web.xml中将DispatcherServlet配置为拦截所有请求,包括静态和动态的,像下面这样:

        <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/applicationContext.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>            <!-- 注意这,拦截所有请求 -->
      </servlet-mapping>
    

    那么,在applicationContext中就得加上<mvc:default-servlet-handler />或者<mvc:resources 加些静态资源映射配置/>,才能访问到静态资源。否则的话,web.xml中就得用类似于*.do或者*.html的方式配置<url-pattern>

    我这样配置了,却导致静态和动态资源不能同时访问,最后还是搜索英文资源,才在stackoverflow上解决了问题:http://stackoverflow.com/questions/8023203/how-to-use-default-servlet-handler

    原来applicationContext.xml中要加上<mvc:annotation-driven />配置。

    原来applicationContext.xml里面用的:

        <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" />
        <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" />
    

    配置的处理器映射器和处理器适配器,就没用简化的<mvc:annotation-driven />


    最后:找资料,还得上Google找英文的

  • 相关阅读:
    PICT安装及使用
    Linux 压缩和解压缩常用命令
    ICTCLAS 汉语词性标注集
    基于MPI的并行计算—矩阵向量乘
    Python 主成分分析PCA
    Python 利用pytesser模块识别图像文字
    华为HG255D路由器使用OH3C进行中大校园网认证
    Kubuntu 使用YaH3C进行中大校园网认证
    PHP 调用Python脚本
    Python 调用百度翻译API
  • 原文地址:https://www.cnblogs.com/sonng/p/6641719.html
Copyright © 2011-2022 走看看