SSM之一步一坑:加载静态资源 js/css文件路径问题

基于SSM框架的在线音乐网站:Java Web毕业设计完整实现指南 Java Web开发是构建企业级应用的核心技术栈,其通过MVC架构实现业务逻辑、数据与展示的分离。SSM(Spring+SpringMVC+MyBatis)框架整合作为经典解决方案,提供了依赖注入、事务管理和持久层映射等机制,能高效开发功能完备的Web系统。在实践层面,这种技术组合常用于实现用户管理、数据交互和文件处理等通用模块,具有很高的教学与参考价值。本文聚焦于一个典型的在线音乐分享平台应用场景,详细拆解如何使用SSM框架实现音乐上传、在线播放及评论交流等核心功能,为Java Web学习和毕业设计提供从 阅读详情

在做SSM项目时,加载静态文件一直没有成功,其实问题也不大

问题描述

如下图片中的加载静态文件问题

在这一步问题出现中,我的项目目录如下图

HTML中对静态文件的引用如下

解决方案一,使用绝对路径

在HTML页面中对静态文件采用绝对路径进行引用,前提是SSM项目已经可以加载简单页面,在项目的web.xml,spring-mvc.xml中不需要配置其他东西。

将HTML页面中的引用静态文件的标签改为项目绝对路径

以引用css文件为例,

测试结果

绝对路径:http://[ip/localhost]:[端口]/[项目名]/[css路径]

如果仍然出现上述路径错误问题,请在浏览器中直接访问css绝对路径,查看是否能够访问.css文件

如下

如果无法访问,有可能是在web.xml中没有正常拦截.css,需要进行配置.css访问。

web.xml部分配置如下

<!-- SpringMVC配置 -->
	<servlet>
		<servlet-name>springDispatcherServlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:spring-mvc.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>springDispatcherServlet</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
<!-- 正常拦截html,js,cssSpringMVC配置 激活 Tomcat 的 defaultServlet 来处理静态资源 
注意:/ 会匹配所有url,但不包括 * .jsp,* .html,* .js这样的文件这样的文件。也就是*.jsp不会进入Spring的DispatcherServlet 
-->
	<servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.css</url-pattern>
    </servlet-mapping>
 	<servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.js</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.png</url-pattern>
    </servlet-mapping>
 
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.jpg</url-pattern>
    </servlet-mapping>
 
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.gif</url-pattern>
    </servlet-mapping>
        <servlet-mapping> 
            <servlet-name>default</servlet-name> 
            <url-pattern>*.html</url-pattern> 
    </servlet-mapping>

	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>

解决方案二、相对路径

在spring-mvc.xml中加入 ,Spring 3.0.4 以后版本提供了 <mvc:resources /> 

<mvc:resources location="/static/" mapping="/static/**"></mvc:resources>
解释这段xml配置的含义:
location="/static/" 指定静态资源的位置,可以是 web application 根目录下、jar 包里面,这样可以把静态资源压缩到 jar 包中

 mapping="/static/**" 映射到 ResourceHttpRequestHandler 进行处理。

cache-period 可以使得静态资源进行 web cache。 

HTML文件

测试结果

关于静态资源访问可以参考更详细连接

https://my.oschina.net/hnqingping1255/blog/415575

 

注:

写在最后的一点,使用相对路径时,采用的是使用

激活 Tomcat 的 defaultServlet 来处理静态资源 ,即在上文中贴出的web.xml文件中的代码。

但是在进行相对路径访问静态资源时,发现即便不配置spring-mvc.xml的文件,在HTML中直接使用"../static/css/001.css",也能完成对静态资源的访问,很是疑惑,如有参考到本博客的可以讨论下。。。。也有可能是上文写的绝对访问路径"、SongSSM/static/css/001.css"和静态访问路径"../static/css/001.css"意义相同,如有理解错误,希望看到的大佬给出指正。

JavaWeb健身房管理系统开发实战:SSM框架+MySQL完整项目指南 JavaWeb作为企业级Web应用开发的核心技术,基于Java EE规范构建,通过Servlet、JSP等技术实现动态网页功能。其工作原理遵循MVC设计模式,将业务逻辑、数据展示和用户交互分离,提升代码的可维护性和扩展性。在技术价值方面,JavaWeb具备跨平台、高安全性、丰富的生态系统等优势,是大型企业系统的首选方案。应用场景广泛覆盖电商平台、OA系统、CRM客户关系管理等业务领域。本实战项目聚焦健身房管理系统开发,整合Spring、Spring MVC、MyBatis三大核心框架,结合MySQL数据库设 阅读详情

相关推荐

7.2.1 配置静态资源的缓存 -《SSM深入解析与项目实战》

项目中所有的源码都可以在此链接的仓库中找到:https://github.com/chenhaoxiang/uifuture-ssm 文章目录7.2 静态资源缓存与加载GZIP资源7.2.1 配置静态资源的缓存配置静态资源缓存创建index.jsp文件创建StaticCacheController类添加addViewControllers方法StaticResourcesVersion类版本控制的静态页面引入 7.2 静态资源缓存与加载GZIP资源 静态资源(CSS,JS等)一般不会经常进行改动,那么

谙忆-陈浩翔 1452

ssm 关于静态资源无法加载

在将传统的servlet+dao+jsp的项目 转为 ssm 项目时遇到了静态资源无法加载 为什么加载不到?是因为被Springmvc的前置控制器所拦截导致无法加载,因此只要配置静态资源访问映射,此时将不被前置控制器所拦截 1.静态资源存放位置 2.在springmvc.xml里面配置静态资源访问映射 <mvc:annotation-driven /> <mvc:resources mapping="/css/**" location="/css/" /> &l

L1Ha1Y1的博客 1395

第一章 Cheat Enginee(CE)使用指南

Cheat Engine核心功能详细说明(以植物大战僵尸为例) 教你修改单机游戏。

m0_74545731的博客 1万+

SSM框架无法访问静态资源的问题

红色框框里面的静态资源无法加载进来,检查了一遍配置没问题。使用的是SSM框架,我的项目目录如下。如箭头所示,把静态资源文件夹添上。点击应用,再重新部署就行了。最后在一篇帖子看到了如下。

qq_43368308的博客 631

从原理到实现:在《图灵完备》中构建一个144*256像素、1536时钟刻/帧的视频播放器

本文详细解析了在《图灵完备》游戏中构建144*256像素、1536时钟刻/帧视频播放器的全过程。从图灵完备原理出发,通过分层架构设计、视频数据预处理和关键电路实现,展示了如何用基础电子元件模拟现代显卡功能。重点介绍了像素坐标定位系统和颜色数据处理流水线的优化方案,为游戏内复杂电子系统设计提供实践指导。

weixin_42520025的博客 445

【阿里云大模型高级工程师ACP习题集】2.4 自动化评测答疑机器人的表现(⭐️⭐️⭐️ 重点章节!!!)

【摘要】这是我精心整理出对应的习题集,里面足足有 30 道题目,从基础概念到深度拓展,全方位覆盖章节重点、难点。不管你是想检验自己的学习成果,还是想针对薄弱环节进行强化训练,它都能完美适配!

davidkorhenn的博客 2480

SSM项目加载静态资源404的思考

留存

RoyRaoHR的博客 1099

OpenBCI脑电帽硬件DIY与低成本搭建实战

本文详细介绍了如何通过第三方兼容硬件和开源设计,低成本DIY一套功能完备的OpenBCI脑电采集系统。从硬件选购、组装、软件配置到信号调试,提供了完整的实战指南,将总成本控制在千元级别,使脑机接口技术对爱好者、学生和研究者变得更加触手可及。

weixin_29322855的博客 792

解决SSM框架静态资源(js,css,image)无法加载的问题(script > 加载失败)

 首先验证自己的路径是否写错,按住ctrl键,点击你填写的路径,如果显示cannot find******,无法跳转到文件的话,说明你的路径写的有问题,自己通过加…/来解决即可,如果自己的路径填写无误,那么再使用下面的几种方法. 方法一 : springmvc的配置中添加静态资源过滤 <mvc:default-servlet-handler/> 或者 <mvc:resou...

文戌 2317

小白 虚拟机 kali_Linux安装 详细教程

安装版本:VMmare workstation pro kali_Linux 安装环境:Window10 首先我们先了解一下什么是kali_linux: Kali Linux是基于Debian的Linux发行版, 设计用于数字取证操作系统。每一季度更新一次。由Offensive Security Ltd维护和资助。最先由Offensive Security的Mati Aharoni和Devon Kearns通过重写BackTrack来完成,BackTrack是他们之前写的用于取证的Linux发行

m0_50917178的博客 9万+

基于Mind+、MOTT实现人工智能

@基于Mind+、MOTT实现人工智能 人工智能实验 一、实验目的及要求 【一】实现人脸识别 【二】实现云数据库应用 【三】实现测温数据mqtt上传至物联网云平台 二、实验原理与内容 基于二哈实现多人人脸学习和识别 基于TinywebDB实现云数据库应用 基于EasyIoT实现mqtt数据上传。 三、实验软硬件环境 硬件:掌控板 软件:Mind+ 四、实验过程(实验步骤、记录、数据、分析) 1.基于二哈实现多人人脸学习和识别 ①在Mind+扩展上的传感器选项选择HUSKYLENS AI 摄像头 ②配置哈士

weixin_44606930的博客 2378

ssm项目访问不到js、css等静态资源

访问不到的几种情况,你中招了吗 1.web.xml中的拦截器的设置 比较好的是将拦截的访问路径设置成*.do,这样拦截器拦截的也只会是以*.do结尾的url,而不会把静态资源的访问也拦截。 2.静态资源的放置位置 一个正常的ssm项目,js、css等静态资源是放在webapp下的,和WEB-INF同级,而不是放在WEB-INF下面。如果放到WEB-INF,用户不能正常访问里面的静态资源,但是通...

Jinx_vt_Lin的博客 3308

极智嘉嵌入式面试题及参考答案

IIC(Inter-Integrated Circuit)即集成电路总线,是一种由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。它仅使用两根线,即串行数据线 SDA 和串行时钟线 SCL,就能实现多个设备之间的通信,具有简单、高效、占用资源少等优点,广泛应用于各种嵌入式系统中。

大模型大数据攻城狮的专栏 922

SSM框架静态资源放行及使用——Java

常见的静态资源(Static-Resources) css——层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。 images——图片 js——JavaScript一种直译式脚本语言,...

有人_295的博客 4939

机器人外接 USB 音响完整配置指南

摘要:本文介绍了为机器人配置外接音响的方法。由于内置音响音量小且有散热噪音,建议使用Type-C接口外接音响。配置步骤包括:1)通过aplay -l命令查看音响端口信息;2)使用aplay命令测试音频播放;3)通过amixer命令设置音量。关键点在于正确识别音响的卡号(如card 2)和设备号(如device 0),并在命令中准确配置这些参数即可实现外接音响的正常使用。

m0_47999117的博客 357

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

IDEA解决SSM项目的静态资源路径问题:HTML,CSS,JS--详解

IDEA解决SSM项目的静态资源路径问题:HTML,CSS,JS--详解

asdfgh0077的博客 417

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

用maven搭建ssm项目时,jsp页面无法加载js或者css等静态资源

问题:加载jsp页面,没有样式。 解决办法:1、该加载的文件路径要对,如图: 2、如果还是不行,则在web.xml 中配置如下代码,用于加载静态文件。 <!-- 加载静态css、js、images等文件-------防止启动Tomcat访问jsp没有样式 --> <servlet-mapping> <servlet-name>default</s...

weixin_43981813的博客 2098

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

用Maven构建ssm项目时,关于jsp中引入js、css文件路径问题

之前一直用ssm框架搭的项目,做了一段时间之后发现了几个问题,导入的jar包有可能会出现冲突问题,不好解决,前台页面编写麻烦,然后就想着重构这个项目,用maven来管理jar包,前台用layui框架,然后就开始做了起来,下载好layui需要的文件后,导入项目中,在jsp中引用,然后访问,发现找不到静态资源,之后各种找原因,最后发现了是link标签,script标签导入“姿势”错了,。...

qq_39848608的博客 2899

解决ssm拦截静态资源的问题

SpringMVC框架中, jsp页面引用的js,css,html等静态文件在运行时出现404错误,也就是说找不到文件路径;     我在引用的时候写的是相对路径,并且路径是完全正确的,那为什么会出现这种错误呢?     一.现象:       1.如果你的配置描述符文件(web.xml)中,DispatcherServlet拦截为"*.do"这样的有后缀的URL,就不存在访问不

ZZHMMD957 3516

关于WEB-INF目录不提供外部访问及JSP引用 js,css 文件路径问题

在 web 项目开发过程中,我们常常使用到 JSP,以及对静态资源,js,css 等引用,但是我们应该把这些资源文件放在哪个目录下面咧,怎么引用。当然如果是前后端分离的项目倒不用考虑这些。WEB-INF:出于安全性的考虑,这个目录是禁止外部直接访问的,所以 JSP 页面放在这个目录及其子目录下面是起到保护作用的。在 jsp 页面中少不了的是对 js,css 文件的引用,那么我们引用的时候又有两种方...

Jaylon Wang的专栏 580

在SSM环境下使用Thymeleaf一些要点

此外还需注意的是,我们在服务器启动的情况下,SpringMVC的视图解析器可以完成HTML文件访问的完成链接的拼接,所以在链接到某一页面时,href属性可以不写.html后缀,但是在静态渲染时,必须要加上后缀才可以正确访问页面,所以推荐直接加上后缀,而且并不会影响到启动服务器时的链接页面的访问。这里面img标签的src属性就是在没有服务器的情况下加载的,而th:src属性则是在服务器环境下接收到的后端数据,从而动态渲染,两者自动根据所处环境加载资源,不会互相干扰,这便是thymeleaf最强大的地方。

Renexton的博客 2721

[javaWeb问题] 使用ssm框架整合时出现跳转出现404

项目场景: 学习的时候代码明明全部正确,甚至是复制的代码, 为什么还会404. 这时候就要考虑 xml配置文件中的路径是否写错了 解决方式: 1.观察XML文件路径 2.观察jsp文件跳转的路径 3.观察java跳转的路径 观察文件路径是否出现问题 <!-- 配置视图解析器 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalRes

weixin_45821263的博客 704

SSM框架实战:从零部署Java Web音乐分享平台毕业设计

在Java Web开发领域,SSM(Spring+SpringMVC+MyBatis)框架整合是构建企业级应用的核心技术栈,它通过清晰的MVC分层架构实现了业务逻辑、数据持久化和Web请求处理的解耦。其原理在于Spring的IoC容器管理Bean生命周期,SpringMVC处理前端请求路由,而MyBatis则负责数据库的ORM映射,这种组合极大地提升了开发效率和代码可维护性。对于计算机专业学生和自学者而言,掌握SSM框架的整合与部署是迈向Java工程师的关键一步,其技术价值在于能够快速搭建具备完整CRUD、

weixin_34293246的博客 385

SSM+Vue构建建筑公司官网:Java Web经典架构实战解析

在Web应用开发领域,Java凭借其稳定性和成熟的生态体系,常与Spring、Spring MVC、MyBatis(SSM)等经典框架组合,构建稳健的后端服务。其核心原理在于通过清晰的分层架构(如Controller-Service-Mapper)实现业务逻辑的解耦与数据流的可控管理。这种架构的技术价值在于平衡了开发效率、代码可维护性与系统稳定性,尤其适合业务逻辑明确、需要长期维护的中小型项目。在实际应用场景中,SSM常与现代化前端框架如Vue.js搭配,形成前后端分离的解决方案,既能保证后端服务的可靠性,

weixin_30279315的博客 379

基于SSM框架的Java Web项目实战:从零构建在线音乐分享平台

Java Web开发是构建企业级应用的核心技术栈,其核心在于通过MVC架构实现业务逻辑、数据与展示的分离。Spring框架通过IoC容器管理对象生命周期,实现松耦合;Spring MVC则负责处理Web请求与响应;MyBatis作为持久层框架,简化了数据库操作。这一经典组合(SSM)为开发者提供了高效、可维护的解决方案,广泛应用于电商、社交、内容管理等各类Web系统。在实战中,SSM框架的整合与配置是关键,涉及数据库连接、事务管理、文件上传等常见场景。本文以“在线音乐分享平台”这一兼具趣味性与技术综合性的项

weixin_30435261的博客 341
上一篇: SSM之一步一坑:No mapping found for HTTP request with URI [/*/WEB-INF/*/login.html] in Dispatcher
下一篇: SSM之一步一坑:No mapping found for HTTP request with URI
concealed0
博客等级 码龄9年 63粉丝 45原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值