ssm下css等静态资源的加载

最近在搭建服务器时遇到了一些问题。前端同学给我的css文件无法在jsp中调用。由于我遇到的问题比较特殊,所以本文先总结一些常用的解决方法,再说我自己的问题的解决方法。


一,注解驱动法

将css等文件放在webroot下(与web-inf同级)

在对应的servlet.xml文件中添加如下代码:

    <mvc:annotation-driven /> 
    <mvc:default-servlet-handler />    
    <mvc:resources mapping="/image/**" location="/image/"/>
    <mvc:resources mapping="/css/**" location="/css/"/>

即可。


二,查找绝对路径法

css等文件存放路径同上。

在要调用静态资源的jsp中添加如下代码:

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
    <base herf="<%=basePath%>">
    <link type="text/css" rel="stylesheet" href="css/style.css">

即可。


三,实际遇到的问题

由于我所用的工程来源于网络,在controller前有如下注解

/*@RequestMapping("/user")*/
public class UserController {

此注解会导致该类下,任何情况下使用的任何片段url会加上/user。(有待研究)



浏览器f12跟踪如下


可见herf实际对应的url中插入了/url。

解决方法:将注解去掉即可。不过要注意该类下其他方法的url问题。


阅读更多
上一篇SSM:HTTP Status 500 – Internal Server Error
下一篇HTTP Status 404 – Not Found
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭