Spring Boot 默认将 /webjars/** 映射到 classpath:/META-INF/resources/webjars/ ,结合我们上面讲到的访问资源的规则,便可以得知我们在JSP页面中引入jquery.js的方法为:

想实现这样,我们只需要在pom.xml 文件中添加jquery的webjars 依赖即可,如下:

org.webjars

jquery

2.1.4

但是我们实际开发中,可能会遇到升级版本号的情况,如果我们有100多个页面,几乎每个页面上都有按上面引入jquery.js 那么我们要把版本号更换为3.0.0,一个一个替换显然不是最好的办法。

如何来解决?按如下方法处理即可。

首先在pom.xml 中添加依赖:

org.webjars

webjars-locator

然后增加一个WebJarsController:

package org.springboot.sample.controller;

import javax.servlet.http.HttpServletRequest;

import org.springframework.core.io.ClassPathResource;

import org.springframework.http.HttpStatus;

import org.springframework.http.ResponseEntity;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.PathVariable;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.ResponseBody;

import org.springframework.web.servlet.HandlerMapping;

import org.webjars.WebJarAssetLocator;

/**

* 处理WebJars,自动读取版本号

*

* @author 单红宇(365384722)

* @myblog https://blog.csdn.net/catoop/

* @create 2016年1月8日

*/

@Controller

public class WebJarsController {

private final WebJarAssetLocator assetLocator = new WebJarAssetLocator();

@ResponseBody

@RequestMapping("/webjarslocator/{webjar}/**")

public ResponseEntitylocateWebjarAsset(@PathVariable String webjar, HttpServletRequest request) {

try {

String mvcPrefix = "/webjarslocator/" + webjar + "/"; // This prefix must match the mapping path!

String mvcPath = (String) request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);

String fullPath = assetLocator.getFullPath(webjar, mvcPath.substring(mvcPrefix.length()));

return new ResponseEntity<>(new ClassPathResource(fullPath), HttpStatus.OK);

} catch (Exception e) {

return new ResponseEntity<>(HttpStatus.NOT_FOUND);

}

}

}

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/jisuanjixue/article-62262-4.html

springboot的jsp应该放在哪_web项目jsp放在哪里 Spring Boot 静态资源处理(4)相关推荐

  1. web项目访问引用jar内部的静态资源

    一.实现原理 web项目访问引用jar内部的静态资源,在Servlet3协议规范中,包含在JAR文件/META-INFO/resources/路径下的资源可以直接访问. 二.举例说明 如下图所示,是我 ...

  2. (30)导入时如何定制spring-boot依赖项的版本【转载】【从零开始学Spring Boot】...

    此文章转载地址:http://www.tuicool.com/articles/RJJvMj3 请注重作者的版权. spring-boot通过maven的依赖管理为我们写好了很多依赖项及其版本,我们可 ...

  3. eclipse创建springboot项目_创建一个 Spring Boot 项目,你会几种方法?

    我最早是 2016 年底开始写 Spring Boot 相关的博客,当时使用的版本还是 1.4.x ,文章发表在 CSDN 上,阅读量最大的一篇有 42W+,如下图: 2017 年由于种种原因,就没有 ...

  4. spring项目搭建云服务器,Spring Boot项目打包并部署到云服务器

    Spring Boot项目打包并部署到云服务器 一.云服务器的环境 OS: CentOS 7 Jdk 1.8 Spring Boot自动集成Tomcat,不需要单独配置 二.本地Spring Boot ...

  5. eclipse 导入maven项目_手把手的Spring Boot Web 项目教程,Hello Spring Boot

    在开始之前,我们需要去创建一个SpringBoot项目,大家可以去 http://start.spring.io/ 这个网站生成一个项目. 如图,这边可以对SpringBoot项目进行详细设置: 下面 ...

  6. 【Spring boot 项目实践】基于Spring boot 的外卖系统

    文章目录 前言 一.后端代码准备 1.实体类 2.数据层 3.业务层 4.表现层 二.用户端 1.登录页面 2.前端页面 3.购物车 4.个人主页 5.订单支付 三.客户端 1.员工管理 2.分类管理 ...

  7. Java项目:养老院管理系统(java+Spring Boot + SpringMVC + MyBatis+HTML+CSS+JavaScrip+ Layui+maven+mysql)

    源码获取:博客首页 "资源" 里下载! 关注公众号,带你学Java 项目介绍 : Spring Boot + SpringMVC + MyBatis+ Mysql + druid ...

  8. 【项目精选】基于Spring Boot的综合性B2C电商平台--迷你天猫商城

    迷你天猫商城 点击下载源码 介绍 迷你天猫商城是一个基于Spring Boot的综合性B2C电商平台,需求设计主要参考天猫商城的购物流程:用户从注册开始,到完成登录,浏览商品,加入购物车,进行下单,确 ...

  9. eclipse启动springboot项目_多模块项目中的一个Spring Boot启动错误

    问题描述 Springboot项目在启动时,报出了以下错误: ***************************APPLICATION FAILED TO START*************** ...

最新文章

  1. 微信小程序使用npm 进行下载构建组价
  2. 前端面试题整理(css)
  3. id_Tech5_challenges--siggraph09
  4. linux系统时区设置
  5. kafka 名词解释及原理解析过程(三)
  6. Java要怎么入门?初学者要怎么学?
  7. 多线程编程注意点(持续更新)
  8. 用树莓派和PC机搭建多节点私人以太坊网络
  9. React开发(135):ant design学习指南之form中动态form新增删除
  10. 【Oracle】数据迁移工具(1):SQL Loader
  11. 概率就是个冷冰冰的坑
  12. 我看《网络营销实战密码:策略 技巧 案例》这本书
  13. ArcGIS道路网拓扑检查
  14. noi题库 1.7编程基础之字符串 :题解大礼包20180723
  15. 凝胶渗透色谱的基本概念(二)
  16. 【CSAPP】程序的机器级表示:基础知识
  17. php 保留小数0补位,PHP自带函数给数字前补0或补位
  18. 【翻译】和麻美学姐一起的世界树(マミさんと世界樹スレ)第二话
  19. JSON转模型归档与解档
  20. 产品经理35岁以后如何发展?考PMP有用吗?

热门文章

  1. 回调函数在replace方法中的应用
  2. Swift和Java在函数(method/方法)方面的比较
  3. [Openwrt 项目开发笔记]:Samba服务vsFTP服务(四)
  4. 成功人士不用睡觉吗?
  5. 解释:什么是云计算?
  6. 利用EntLib授权机制实现对ASP.NET页面的自动授权
  7. 前端——解决微信网页清除缓存的方法
  8. MUI - 解决弹出输入法时页面高度变小导致底部上浮的问题
  9. vue 上传图片视频组件,可拍照选择照片,解决苹果手机拍照旋转问题
  10. 如何解决visual studio2017 install 下载安装极慢的问题