从目前来看,静态文件的映射有两个地方可以配置:
- web.xml文件
<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> </servlet-mapping>
- spring-servlet.xml文件
<mvc:resources location="/images/" mapping="/images/**" /> <mvc:resources location="/js/" mapping="/js/**" /> <mvc:resources location="/css/" mapping="/css/**" />
如果,你同时还配置了InternalResourceViewResolver代码:
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/page/" />
<property name="suffix" value=".jsp" />
</bean>
还有你的dispatcher映射:
<servlet-mapping>
<servlet-name>rest-servlet</servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
那么,你在JSP文件里对静态文件的引用可能就是这样:
<script type="text/javascript" src="../js/jquery-1.10.2.js"></script>
注意,这里的".."可不是指你的绝对路径。你不能把它理解为:/webapp/js/jquery-1.10.2.js
而应该理解为:/myapp/js/jquery-1.10.2.js
小心别被定势思维带到坑里去了。