做毕设时,有一个页面经过Spring MVC跳转之后,各种css样式完全没有,在网上查阅了很多资料,都不管用,默认的servlet我也设置了,就是不管用。最后找到解决办法:
①确保你配置了默认的<mvc:default-servlet-handler/>,default-servlet-handler 将在 SpringMVC 上下文中定义一个 DefaultServletHttpRequestHandler,它会对进入 DispatcherServlet 的请求进行筛查, 如果发现是没有经过映射的请求, 就将该请求交由 WEB 应用服务器默认的 Servlet 处理. 如果不是静态资源的请求,才由 DispatcherServlet 继续处理。
我们只需要在Spring MVC.xml加上<mvc:default-servlet-handler/>。
②如果还是有个别页面样式没有,我自己就是这种情况,在样式失效的jsp页面的<head></head>标签里加上如下代码:
让它访问的各种css样式的路径都变成绝对路径即可。
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<base href="<%=basePath%>">