ssm中不能访问静态资源问题

最近用springmvc spring mybatis框架写程序,请求成功并获得数据,唯独css样式不能加载,但路径正确,css文件编码也是utf-8,用火狐debug总是显示未请求到(都快怀疑自己写路径有问题了),今天终于搞定了。发现三种解决方式,但有一个我不知道什么原因用不了。

方案一(个人认为最方便的):在web.xml里配置如下代码即可

一般Web应用服务器默认的Servlet名称是"default",所以这里我们激活Tomcat的defaultServlet来处理静态文件

<!-- 配置静态资源 -->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/js/*</url-pattern>
<url-pattern>/css/*</url-pattern>
<url-pattern>/images/*</url-pattern>
</servlet-mapping>

如果你所有的Web应用服务器的默认Servlet名称不是"default",则需要通过default-servlet-name属性显示指定:

<mvc:default-servlet-handler default-servlet-name="所使用的Web服务器默认使用的Servlet名称" /> 

方案二

<!-- springmvc-servlet.xml控制器 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup><!-- 一启动就要加载配置文件 -->
<async-supported>true</async-supported>
</servlet>

<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>

注意:此时浏览器的请求格式如下:

http://localhost:8080/WorkOrder/login.action

要有.action 后缀

我原来的写法:

<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

当拦截方式是   /  的时候拦截所有的请求,而css文件为静态资源则无法访问

方案三

<mvc:resources mapping="/css/**" location="/static/css/"/>

这种方式不知道为什么配置不成功,如果你知道的话希望分享一下*_*

 转载自:http://blog.csdn.net/tonytfjing/article/details/39207551

总结:解决问题时,一个好的提问可以事半功倍,越能展现本质的问题越能提高效率

 

4  没试

 

或者解决方法:在spring的配置文件中添加如下一行:

 

<mvc:default-servlet-handler/>

 

注意,需要是spring3.0.5以上版本

 

 

 

posted @ 2018-04-25 23:07  菜鸟~风  阅读(6882)  评论(2编辑  收藏  举报