问题标签 [static-resource]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
maven - 通过 Spring Boot 在 jar 文件中提供静态资源
我正在通过多个 Maven 模块开发一个解决方案来处理不同的有界上下文。
由于 Spring Boot,每个模块都公开了自己的 rest api,并且所有这些都托管在一个 maven 模块中,该模块具有一个由 @SpringBootApplication 注释的类。简化的项目结构如下所示:
在面对复合 UI 时,我尝试使用相同的模式:一个保留布局、静态资源的地方,同时,html 页面属于保存在其 maven 模块中的每个有界上下文。
问题是我在 spring boot doc 中发现没有办法从其他 jar 文件中提供静态资源。
是否有任何解决方案来获得此功能,或者这里是否存在任何架构错误?或者弹簧之外的东西(例如覆盖)是解决方案?
spring - 带有资源处理程序的spring boot错误页面
tl; dr:如何为 Spring Boot 错误页面启用 Spring 的 ResourceUrlEncodingFilter?
(使用 spring boot 1.3.7.RELEASE 和 Spring Framework/MVC 4.2.4.RELEASE 时写的问题)
一些背景知识:我们有一个相当标准的 spring boot/spring webmvc 项目,使用 Thymeleaf 作为视图层。我们启用了开箱即用的 spring boot 资源链来服务静态资产。
我们的 thymeleaf 视图具有标准的 url 编码语法,例如<script th:src="@{/js/some-page.js}"></script>
. 这依赖于 Springorg.springframework.web.servlet.resource.ResourceUrlEncodingFilter
将 url 转换为适当版本的 url,例如/v1.6/js/some-page.js
.
我们的错误处理是通过以下方式完成的:
- 环境
server.error.whitelabel.enabled=false
- 子类化spring boot的默认值
BasicErrorController
以覆盖public ModelAndView errorHtml(HttpServletRequest request, HttpServletResponse response)
- 依靠我们已经配置的 thymeleaf 视图解析器来呈现我们的自定义错误页面
问题是:ResourceUrlEncodingFilter 没有应用于我们的错误页面。我认为缺少为 ERROR 调度请求注册的过滤器,但这对我来说并不明显:a)如何在 spring boot 中自定义它;b)为什么默认情况下没有这样做。
更新1:
问题似乎与OncePerRequestFilter
ERROR 调度程序的组合有关。即:
ResouceUrlEncodingFilter
默认情况下不绑定到 ERROR 调度程序。虽然覆盖这很混乱,但这并非不可能,但由于以下原因无济于事:OncePerRequestFilter
(parent ofResourceUrlEncodingFilter
) 在 Request 上设置一个属性,表明它已被应用,以便不重新应用。然后它包装响应对象。但是,当发送 ERROR 时,不会使用包装的响应,并且由于请求属性仍然存在,过滤器不会重新包装。
更糟糕的是,定制的逻辑boolean hasAlreadyFilteredAttribute
不能被请求覆盖。OncePerRequestFilter
的doFilter()
方法是final,并且getAlreadyFilteredAttributeName()
(扩展点)无权访问当前请求对象来获取调度程序。
我觉得我一定错过了什么;在 Spring Boot 的 404 页面上使用版本化资源似乎是不可能的。
更新 2:一个有效但混乱的解决方案
这是我能想到的最好的,但看起来仍然非常混乱:
更好的解决方案?
spring-boot - Spring Boot 不加载静态资源取决于 RequestMapping 深度
我在春季启动应用程序的静态文件夹下加载文件时遇到问题。
问题是 RequestMapping 深度超过 2 喜欢@RequestMapping("spring/xyz")
单一深度效果很好,@RequestMapping("spring")
但 2 深度以“弹簧”为前缀,它连接 localhost:8080/spring/“静态文件夹”
我在这里找到了一半的解决方案
我的文件夹结构是:
案例1:效果很好
案例2:效果很好
案例3:不工作
它被称为'http//localhost/spring/xyz/css/some.css'
案例3:效果很好
案例4:效果很好
有用!!即使我使用../../
相对路径。我不知道为什么会这样。
实际上我不太了解 Spring Boot API,我考虑使用 ViewResoler 加载其他静态资源。
我想知道这个加载路径机制以及如何通过 RequestMapping url 路径链接来调用“http//localhost/spring/xyz/css/some.css”
我感谢任何答案~!
我在spring.io上从“metalhead”和“Brian Clozel”中提到了同样的问题
spring-mvc - 如何理解 SpringMVC 资源链包含我没有设置的解析器
我的 dispatcher.xml 设置资源链如下:
当我调试代码时,我发现资源链有两个PathResourceResolver,为什么?谢谢! ResourceHttpRequestHandler 状态
c# - 如何从另一个项目中定义的 c# 项目设置(属性)定义静态 wpf 资源
位于 App.xaml 中的以下代码定义了一个静态应用程序范围的资源,我成功地将其绑定到一个列表框控件。
但是,我想做同样的事情,而是使用另一个项目中定义的属性。像这样的东西(不可编译):
欢迎任何建议,谢谢。
spring-boot - Spring Boot MVC 请求映射覆盖静态资源
我想在 Spring Boot 中有休息控制器来处理所有这样的请求:“/{arg}”,除了“/sitemap.xml”。我怎样才能做到这一点?
spring-boot - Spring boot:拦截对静态托管资源文件的请求
在我的 Spring Boot 应用程序中,我在我的应用程序外部托管文件。通过 addResourceHandler() 方法这样做。
此外,我需要通过检查几个会话属性来验证对这些文件的访问。为此,我添加了一个拦截器。
问题:在拦截时,在拦截器的 preHandle 中,通过代理路由器 apache 设置部署在 LINUX 上时,HttpServletRequest 没有任何会话信息(无会话)。但是,当直接从我的 IDE 在 Windows 上运行时,HttpServletRequest 确实具有正确的会话。
下面是代码:
以下是我的 apache conf 设置:
关于我缺少什么的任何标题?
java - 提供静态资源时请求方法 GET 不支持错误
静态资源根本没有加载,当它加载时出现这个错误我不知道问题出在哪里,这是我的代码
web.xml
客户-servlet.xml
createOffer.jsp
当我调用 createOffer.jsp 表单时出现没有这样的样式
如果我从 url 调用静态资源,这是结果
这是 pox.xml 文件,如果它有用的话
css - 静态资源管理:按需组合资源是否可行?
假设它们以语义方式工作,以下三者之间的性能差异是什么:
和:
和:
从服务器负载和用户延迟的角度来看,根据请求组合资源是否有任何主要缺点?