今天一个上午就做了一件事,就是尝试显示带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的问题的时候应该查一下
里面的依赖有没有问题