广州工商学院门户网站北京西站24小时人工服务电话

张小明 2026/1/8 18:05:09
广州工商学院门户网站,北京西站24小时人工服务电话,网络设计专业工资,小型公司局域网怎么建立#xff09;一、Spring Boot 默认能访问哪些静态资源#xff1f;二、本地保存的文件#xff0c;为什么不能通过 IP 访问#xff1f;1. 本地测试用#xff1a;把文件存到默认静态目录2. 生产通用#xff1a;配置外部路径映射三、暴露静态目录#xff0c;会泄露项目源代码…一、Spring Boot 默认能访问哪些静态资源二、本地保存的文件为什么不能通过 IP 访问1. 本地测试用把文件存到默认静态目录2. 生产通用配置外部路径映射三、暴露静态目录会泄露项目源代码吗四、静态资源映射的安全注意事项做 Spring Boot 开发时静态资源映射这块真的踩了不少坑。刚开始总搞不懂为什么服务器上能访问的文件本地跑就报 404也担心暴露目录会泄露源代码。今天把自己遇到的问题和解决办法整理下都是实战里摸出来的经验希望能帮到和我一样的新手。一、Spring Boot 默认能访问哪些静态资源我一开始以为项目里所有文件都能通过 URL 直接访问后来才发现不是这么回事。Spring Boot 有自己默认的静态资源目录只有放在这些目录里的文件不用写接口就能直接访问。这些目录都在src/main/resources/下面按优先级从高到低排是这样的META-INF/resources/一般用不上大多是第三方插件放资源的地方resources/自定义资源目录我很少用static/最常用的我平时把图片、JS、CSS 都放这public/和 static 功能差不多优先级比 static 低一点举个例子把一张 test.png 图片放进static/目录启动项目后直接在地址栏输http://localhost:8080/test.png就能打开。要是放进static/img/里路径就改成http://localhost:8080/img/test.png就行。我认为这里有个关键点要注意这些目录都是项目内的相对路径不是本地磁盘的绝对路径。比如你把文件存在 D 盘根目录哪怕路径写对了默认也访问不到。二、本地保存的文件为什么不能通过 IP 访问先理清核心逻辑文件保存到本地 / 服务器磁盘只是「物理存储」但浏览器地址栏输入 URL 访问文件是「网络请求」—— 必须有一个「中间层」Web 服务器 / 接口把「磁盘文件路径」映射成「HTTP 可访问路径」否则浏览器根本不知道如何访问本地文件。这是我最开始踩的坑做文件上传功能时把文件保存到本地 D 盘的 upload 目录返回的 URL 是http://localhost:8080/files/test.ofd但访问就是 404。可同样的代码部署到服务器却能正常下载。后来排查才知道服务器上肯定配置了静态资源映射把磁盘路径和 HTTP 路径关联起来了而我本地只做了文件保存没加这个配置。在我看来解决这个问题有两种办法根据场景选就行。1. 本地测试用把文件存到默认静态目录如果只是本地调试不想改配置可以把文件保存到 static 目录里。这样不用额外加代码就能直接访问。代码示例大概是这样的// 获取 static 目录的绝对路径StringfileSavePathnewClassPathResource(static/).getFile().getAbsolutePath()/OFD_File/;// 上传后的文件会存在 src/main/resources/static/OFD_File/ 下面// 访问路径就是 http://localhost:8080/OFD_File/xxx.ofd不过这个方法只适合测试我们的经验是项目重新编译或者重启后static 目录里的上传文件会丢失生产环境绝对不能用。2. 生产通用配置外部路径映射这是最稳妥的方式不管本地还是服务器都能用。核心就是写个配置类把外部磁盘路径映射成 HTTP 能访问的路径。我常用的配置代码是这样的importorg.springframework.context.annotation.Configuration;importorg.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;importorg.springframework.web.servlet.config.annotation.WebMvcConfigurer;ConfigurationpublicclassWebMvcConfigimplementsWebMvcConfigurer{// 本地磁盘文件保存路径建议写在配置文件里用 Value 注入privateStringexternalFilePathfile:D:/upload/;// 对外暴露的访问前缀privateStringaccessPrefix/files/;OverridepublicvoidaddResourceHandlers(ResourceHandlerRegistryregistry){// 把 /files/** 路径映射到本地 D:/upload/ 目录registry.addResourceHandler(accessPrefix**).addResourceLocations(externalFilePath);}}配置完之后文件保存到 D:/upload/OFD_File/xxx.ofd访问路径就是http://localhost:8080/files/OFD_File/xxx.ofd和服务器端的逻辑完全一致。这里有个踩坑点要提醒下路径必须以file:开头Windows 系统要用/分隔别用\不然会被转义导致映射失败。三、暴露静态目录会泄露项目源代码吗刚开始用 public、static 这些目录时我特别担心会不会把 Java 源代码暴露出去后来自己测试过才放心。我认为完全不用怕Spring Boot 只会暴露这些目录里的静态文件源代码根本不会被访问到。原因很简单我们写的 Java 代码在src/main/java/目录下编译后变成 .class 文件也不在 static、public 这些目录里。浏览器访问时Spring Boot 只会找静态资源目录里的文件根本不会管 .java 或者 .class 文件。比如你在src/main/java/下写了一个 TestController.java不管用什么 URL 访问都不可能通过地址栏拿到这个文件。四、静态资源映射的安全注意事项虽然不会泄露源代码但静态资源映射还是有几个安全点要注意不然容易出问题。我们的经验是先避开这几个坑别把敏感文件放进静态目录比如数据库密码、接口密钥这些要是放进 public 或者 static 里别人就能直接下载。敏感文件一定要远离这些目录配置信息最好加密存储。外部路径映射别太大范围别直接映射整个 D 盘或者 C 盘比如只映射 D:/upload/别写 file:D:/。可以加个路径校验确保访问的文件都在允许的目录里。限制上传文件类型别让用户随便上传文件尤其是 .jsp、.php 这类可执行文件万一被上传到静态目录可能会执行恶意代码。只允许业务需要的格式比如 .ofd、.pdf、.jpg 。别开启目录浏览Spring Boot 默认是关闭目录浏览的别手动开启。要是开启了别人就能看到你静态目录里的所有文件结构风险很高。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

有些电影网站是怎么做的做西服的网站

目录 具体实现截图项目介绍论文大纲核心代码部分展示可定制开发之亮点部门介绍结论源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 具体实现截图 本系统(程序源码数据库调试部署讲解)同时还支持Python(flask,django…

张小明 2026/1/5 19:05:49 网站建设

佛山提供网站设计报价微软做网站软件

第一章:农业产量的 R 语言气候影响分析在现代农业科学研究中,量化气候因素对农作物产量的影响至关重要。R 语言凭借其强大的统计分析与可视化能力,成为处理此类问题的首选工具。通过整合气象数据(如降水量、气温)与历史…

张小明 2026/1/5 10:25:01 网站建设

沂南网站开发国家建设部网站

glTFast:Unity中高效3D模型导入的革命性解决方案 【免费下载链接】glTFast Efficient glTF 3D import / export package for Unity 项目地址: https://gitcode.com/gh_mirrors/gl/glTFast 在当今的3D内容创作和游戏开发领域,快速、高效地导入和渲…

张小明 2026/1/3 5:15:26 网站建设

asp网站怎么做404页面跳转光谷网站建设

树莓派sudo apt update出错?别慌,一文彻底解决(实战全记录)你有没有遇到过这种情况:刚插上电、连上网的树莓派,满怀期待地敲下一行sudo apt update,结果终端却报出一堆红字错误——连接超时、40…

张小明 2026/1/6 0:02:05 网站建设

昆明网站开发培训wordpress 数据 拆分

文章分析了大模型训练的显存占用问题,以LLaMA2-7B模型为例,指出其需约112GB显存(14GB参数14GB梯度84GB优化器状态)。针对这一问题,文章详细介绍了ZeRO内存优化技术,包括ZeRO-DP(通过分片存储优化…

张小明 2026/1/1 20:36:26 网站建设

网站建设服务费开票wordpress 备份 还原

反射探针介绍与历史发展反射探针(Reflection Probe)是Unity引擎中用于模拟环境反射的核心技术,它通过预烘焙或实时捕获场景的立方体贴图(CubeMap)来实现物体表面的环境反射效果。传统游戏使用单一的反射贴图技术,假定所有反射对象都能看到相同的环境&…

张小明 2026/1/6 0:18:57 网站建设