SpringMVC项目读取不到外部CSS文件的解决办法及总结

本文介绍了在SpringMVC(SSM)框架项目中遇到的静态资源(css, js)加载失败的问题及其解决办法。原因是DispatcherServlet拦截了所有请求, 包括静态资源请求, 解决方案是在springmvc配置文件中添加<mvc:resources/>标签来指定静态资源的存放位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  昨天,在写一个新需求的时候,因为没有前端同事的对接,无奈只有自己写css,js放到ssm结构的后台项目中,因为之前开发都是把前端文件放在一个专门的服务器上,一直没有关注服务端项目读取静态资源的问题,运行部署以后,项目死活读取不到我在webapp目录下放置的css,js文件,经过一番探索发现了问题.

  原因是这样的,SpringMVC项目因为会在web.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:spring/web-context.xml</param-value>
   </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
<servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>

  DispatcherServlet会拦截所有请求,包括对静态资源css,js的请求,它会将其当做一个正常的请求拦截掉,解决方法是在springmvc的配置文件,也就是上面的web-context.xml中添加<mvc:resources/>:

    <!--静态资源访问-->
    <mvc:resources location="/js/" mapping="/js/**"/>
    <mvc:resources location="/css/" mapping="/css/**"/>

  <mvc:resources/>指定静态资源的存放位置,指定目录下的文件不会再受DispatcherServlet的拦截.

(1)我是一名在校大学生,掌握数据库技术、JavaBean技术、mybatis技术、Spring技术、SpringMVC技术实践基础,需要设计并完成一个完整的Web框架实践项目《图书管理系统》项目,要求:1.需求调研报告:是设计实现系统的基础,包括系统背景来源的描述、系统角色划分,采用何种形式调研该角色需求,结果如何。调研的结果用作系统设计的基础。2.写一个系统设计报告,描述系统或者整个项目的实现过程,类似于论文的写作方式,结构为(研究背景及意义、国内外研究现状,可行性分析,系统功能分析,概要设计(数据库设计),系统实现,测试运行维护,总结展望); 项目包括前端展示、后端逻辑处理以及数据库交互内容:1、技术要求:项目需使用JSP/Servlet、Spring框架、Spring MVC、MyBatis、SpringBoot等技术进行开发,要求包括用户登录注册、数据展示、数据添加修改删除等功能。2、数据库设计:需要设计符合项目需求的数据库结构,并与项目进行整合。3、前端展示:项目需要具备基本的页面美观、交互友好的特点,可以使用HTML、CSSJavaScript等技术进行前端设计。4、后端逻辑:项目需要实现业务逻辑的处理,包括用户认证、数据处理、权限控制等功能。5、测试与部署:学生需要对项目进行充分测试,并完成项目的部署,确保项目能够正常运行。 最终需要展示完整项目成果
最新发布
06-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值