首页 > 其他分享 >Web开发

Web开发

时间:2022-10-21 11:35:45浏览次数:51  
标签:Web webjars resource index 静态 staticPathPattern 开发 registry

一、静态资源探究

  • stringboot 对于静态资源放置的位置有规定的
  • 在WebMvcAutoConfiguration配置类中 ,我们可以用一下方式处理静态资源
@Override public void addResourceHandlers(ResourceHandlerRegistry registry) {   if (!  this .resourceProperties.isAddMappings()) { 
// 已禁用默认资源处理 logger.debug("Default resource handling disabled"); return; }
// 缓存控制 Duration cachePeriod = this.resourceProperties.getCache().getPeriod()
; CacheControl cacheControl = this.resourceProperties.getCache().getCachecontrol().toHttpCacheControl(); //
webjars 配置 if (!registry.hasMappingForPattern("/webjars/**"))
{ customizeResourceHandlerRegistration(registry.addResourceHandler("/webjars/**") .addResourceLocations(
"classpath:/META-INF/resources/webjars/") .setCachePeriod(getSeconds(cachePeriod)).setCacheControl(cacheControl)); } // 静态资源配置
String staticPathPattern = this.mvcProperties.getStaticPathPattern(); if (!registry.hasMappingForPattern(staticPathPattern)) {
customizeResourceHandlerRegistration(registry.addResourceHandler(staticPathPattern) .addResourceLocations(getResourceLocations(this.resourceProperties.getStaticLocations())) .setCachePeriod(getSeconds(cachePeriod)).setCacheControl(cacheControl)); } }

  

  • 可以读取的文件有的有
    • public ,static ,/** ,resourse localhost: 8080/
    • 优先级: resource > static(默认)> public

 

 

 

 

二、什么是webjars  
  • 本质是以jar方式引入静态资源
  • 使用jQuery
    • 引入依赖
<dependency> <groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.4.1</version> </dependency>

 

 

 

三.如何将web在stringboot体现出来呢
  1. 在static 文件下加入index.htm
    1. 写入web元素
  2. 在静态资源文件中,有一个欢迎页的Mappping

 

WelcomePageHandlerMapping(TemplateAvailabilityProviders templateAvailabilityProviders, ApplicationContext applicationContext, Resource welcomePage, String staticPathPattern) { 
if (welcomePage != null && "/**" .equals(staticPathPattern)) {
// staticPathPattern 在静态文件路径下 logger.info("Adding welcome page: " + welcomePage);
this.setRootViewName("forward:index.html");
} else if (this.welcomeTemplateExists(templateAvailabilityProviders, applicationContext)) {
logger.info("Adding welcome page template: index");
this.setRootViewName("index"); } }

  

private Resource getIndexHtml(Resource location) {
try { Resource resource = location.createRelative( "index.html" );
if (resource.exists() && resource.getURL() != null ) { return resource; }
}
catch (Exception var3) { } return null ; }

  

  • 所有的index.xml 页面;被/** 映射
所以:呈现一下 localhost: 8080  

 

 

  1. stringboot 调页面
见下节——

标签:Web,webjars,resource,index,静态,staticPathPattern,开发,registry
From: https://www.cnblogs.com/Sammiedog/p/16810919.html

相关文章

  • 实战篇之前端开发时,突破文字最小限制
    实战篇之前端开发时,突破文字最小限制大家好,我是小简,今天遇到一个需求,如下。最小限制?我们来看这样一个页面,此时我在PC端时,我p标签中字体大小是12px,那我们在做移动端响应......
  • 如何编写一个项目开发文档
    项目开发过程中为了增加程序的可读性和程序的健壮性,方便后期程序的调试和维护,所以需要在开发过程中统一技术规范,一般会在项目初期确定好相关文档作为这一统一的规范。不同......
  • 《MiniPRO H750开发指南》第六十三章 UCOSII实验3-消息队列、信号量集和软件定时器
    第六十三章UCOSII实验3-消息队列、信号量集和软件定时器​上一章,我们学习了如何使用UCOSII的信号量和邮箱的使用,本章,我们将学习消息队列、信号量集和软件定时器的使用。​......
  • 如何使用低代码开发平台实现出入库管理
    出入库管理是最常见的需求之一,例如举办活动所需的活动赠品管理,我们需要采购一批赠品,并将其记录在库存表中,活动结束之后要根据具体需求申请相应的赠品数量,同时更新库存表。这......
  • maven模块化开发
    看geoserver源码时,心中有一个疑惑,就是这么多模块是如何进行管理的呢?geoserver中使用了哪些Java设计模式?为什么使用Maven多模块?参考:https://blog.csdn.net/bakelFF/article......
  • Webpack完整打包流程分析
    前言webpack在前端工程领域起到了中流砥柱的作用,理解它的内部实现机制会对你的工程建设提供很大的帮助(不论是定制功能还是优化打包)。下面我们基于webpack5源码结构,对......
  • Web3 每日资讯(2022-10-20)
    观风向,赢未来。03:24华纳兄弟将发行《指环王》系列NFT04:20特斯拉Q3财报:比特币持仓量保持不变06:51Solana联合创始人表示,Web3手机是对抗谷歌和苹果的机会,目前Web3智......
  • Webpack中的plugin插件机制
    大家有没有遇到过这些问题:webpack打包之后的文件没有压缩静态文件要手动拷贝到输出目录代码中写了很多环境判断的多余代码上一篇「webpack核心特性」loader说到......
  • WebSocket是什么
    WebSocketWebSocket(ws)也可以称之为一种协议,提供给我们基于TCP之上的,能够让服务器和客户端互相发送信息的这么一种协议。whynothttp最开始我其实没有搞清楚http和ws的......
  • 第一个JavaWeb项目
    第一个JavaWeb项目1、Maven的搭建1.1、Maven环境的配置与安装下载:[maven的下载地址](https://maven.apache.org/)环境配置:系统变量配置path变量配置1.2、构建......