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以上版本

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM