maven打包忽略静态资源解决办法,dispatchServlet拦截静态资源请求的解决办法

时间:2023-12-22 16:58:56

问题:

maven 打包时,有的文件打不进去target

解决:

因为maven打包默认打Java文件。在项目中的pom文件中加build标签

<build>

  <resources>

<resource>

<directory>src/main/java</directory>

<includes>

 <include>**/*.properties</include>

<include>**/*.xml</include>

</includes>

<!-- 是否替换资源中的属性-->

<filtering>false</filtering>

</resource>

<resource>

<directory>src/main/resources</directory>

<includes>

        <include>**/*.properties</include>

<include>**/*.xml</include>

      </includes>

      <filtering>true</filtering>

</resource>

  </resources>

</build>

参考地址:

http://blog.csdn.net/jgj0129/article/details/53112738

静态资源拦截与访问:

当在web.xml中配置DispatcherServlet时,标签url-pattern值/时,会拦截所有请求,包括静态资源,解决办法:

一、激活容器的defaultServlet来处理静态资源

例:(tomcat)

  <servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>

  

二、利用spring-mvc mvc:resource

例:

<mvc:resources mapping="/images/**" location="/images/" />

  

三、利用spring-mvc mvc:default-servlet-handler

例:在spring-mvc.xml中加入

<mvc:default-servlet-handler/>

参考文章:

http://www.cnblogs.com/caoyc/p/5639078.html