SSM聚合项目测试总结(续)

        今天一个上午就做了一件事,就是尝试显示带css和js样式的界面,本来以为将js和css文件夹放在WEB-INF下就可以直接访问了,谁知道那么艰难,在这里做个记录,给有缘人减少困难。

        我搜遍个各种方案,比如在引用前加“${pageContext.request.contextPath}”或者加“../",这些都没用,然后我在我的springmvc.xml里头使用静态资源映射却提示我错误WTF?

 <mvc:resources mapping="/css/**" location="/WEB-INF/css/"></mvc:resources>
    <mvc:resources mapping="/js/**" location="/WEB-INF/js/"></mvc:resources>
        最后的解决方案是综合了一下比较靠谱的方案:在引用前+"../../",然后在web.xml里面配置
  <servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.css</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.js</url-pattern>
  </servlet-mapping>

最后的目录结构:


大概解释下:

        首先WEB-INF里面的资源在浏览器里面是访问不到的,而且把静态资源放进去会浪费服务器资源(之前是为了测试方便),然后是web.xml里的配置会让springmvc的拦截器停止对静态资源的拦截。”../“代表的是跳转到上一级目录

理论上把js和css文件夹放在WEB-INF也是可以的,只不过用的就是../

mapper找i不到的问题又出现了,解决方案是在war包的pom文件中加上

<build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>
而且在扫描包的时候classpath后面添加*
<property name="mapperLocations" value="classpath*:com.taotao.mapper/*.xml" />

在多次出现找不到driver的问题的时候应该查一下


里面的依赖有没有问题

猜你喜欢

转载自blog.csdn.net/qq_36243399/article/details/79893337
今日推荐