在Spring Boot + JSP的应用中,一般使用Session作为用户身份的认证, 有时候在JSP页面中需要读取配置在Spring Boot 的配置文件(比如application.properties)的一些全局配置属性, 举例来说, 在application.properties 配置了应用名的属性 system.app-name, 如何在JSP页面中优美地读到这个属性呢?

JSP的默认对象

JSP有四个默认对象: request, page, session和application。

  • request 请求对象,比如请求得url 以及请求参数等
  • page 页面相关的对象
  • session 存储用户相关的信息, 比如登录用户相关信息
  • application 应用对象 , 有些全局的属性是可以存储在application中, 比如应用的名字。在应用启动的时候就存在, 应用关闭后消失。

针对上面的问题,使用session 传递参数当然可以实现,但是session的参数一般是在登录成功后设置, 全局的属性使用session 有一些浪费, 从上面四个对象的范围来看, 从application 获取全局的参数是最合理的, 问题又来了,application 对象如何与Spring Boot的配置关联呢?

application 与application.properties的关联

application 对应的是其实是ServletContext ,也就是通过设置ServletContext 的属性之后, JSP的appl

JSP如何获取Spring Boot的配置属性相关推荐

  1. Spring Boot加密配置属性--Spring Cloud Vault详解

    项目中敏感配置信息一般需要进行加密处理,比如数据库密码,Spring Boot内置不提供加密支持,不能加密配置文件信息,在官方文档中提供了自定义Environment和Spring Cloud Vau ...

  2. Spring Boot 自动配置的原理、核心注解以及利用自动配置实现了自定义 Starter 组件

    本章内容 自定义属性快速入门 外化配置 自动配置 自定义创建 Starter 组件 摘录:读书是读完这些文字还要好好用心去想想,写书也一样,做任何事也一样 图 2 第二章目录结构图 第 2 章 Spr ...

  3. Spring Boot自动配置原理

    要了解Spring Boot的自动配置首先我需要先了解Spring Boot的两个机制,一个是配置文件如何进入到系统变成属性,二是如何将这些属性加入到容器中. 首先我们需要有一个组件,这个组件中的属性 ...

  4. Spring Boot自动配置原理分析

    一.写在前面 随着时间的迁移Spring Boot 越来越多的出现在Java 后端程序员的视野中,Spring Boot 之所以会那么流行,很大的一个原因是自身集成了很多的Bean,简化了传统Srin ...

  5. 【Spring Boot实战】源码解析Spring Boot自动配置原理

    一.简介 Spring致力于让Java开发更简单,SpringBoot致力于让使用Spring进行Java开发更简单,SpringCloud致力于基于SpringBoot构建微服务生态圈,让微服务开发 ...

  6. 学习第三篇:【SpringBoot-Labs】芋道 Spring Boot 自动配置原理

    本周(8.21-8.27)将学习芋道 Spring Boot的以下文章: 8.21: 快速入门 8.22:Spring Boot 自动配置原理 .Jar 启动原理 8.23:调试环境. 热部署入门.消 ...

  7. spring boot自动配置

    首先,一般的java Web项目需要很多配置,web配置(web.xml).spring配置(默认叫applicationContext.xml),非常繁琐 而spring-boot-starter是 ...

  8. Spring Boot - 自动配置实例解读

    文章目录 Pre 启用 debug=true输出自动配置 HttpEncodingAutoConfiguration 什么情况下,Spring Boot 会自动装配 HttpEncodingAutoC ...

  9. 芋道 Spring Boot 自动配置原理

    转载自  芋道 Spring Boot 自动配置原理 1. 概述 友情提示:因为本文是分享 Spring Boot 自动配置的原理,所以需要胖友有使用过 Spring Boot 的经验.如果还没使用过 ...

最新文章

  1. 一种NVMe SSD友好的数据存储系统设计
  2. python改变numpy数据类型_numpy-Python Pandas-将某些列类型更改为类别
  3. Memcached学习笔记 — 第四部分:Memcached Java 客户端-gwhalin(1)-介绍及使用
  4. jdbc mysql myeclipse_关于JDBC连接MySQL的问题,我一直解决不了(Myeclipse 环境下)
  5. Android笔记 检测网络状态
  6. java基础面试题之:i++与++i的区别
  7. HBase编程 API入门系列之HTable pool(6)
  8. java自带数据库_Derby-jdk自带数据库的使用 - Java天堂
  9. 通过GitHub Actions构建和部署Jekyll网站
  10. zabbix监控 nginx 进程
  11. 君则A3服务器地址异常信息,a3服务器端操作指南.doc
  12. 滤波ad毛刺 c语言算法,Σ-Δ型ADC AD7124和AD717x的后置/增强型滤波器
  13. 【待续】海思Hi3520A学习笔记
  14. 【sketchup 2021】草图大师的编辑工具2【路径跟随、偏移与轴、卷尺工具和尺寸、绘制参考线】
  15. 仿进入GameCenter的五个气球效果
  16. 浙大吴飞“舌战”阿里贾扬清:AI内卷与年薪百万,哪个才是真实?
  17. 数据可视化(箱线图、直方图、散点图、联合分布图)
  18. cocos2d-x 添加启动数字输入法的功能
  19. 肾功能及早期肾损伤的检查题库【1】
  20. osgearth仿真平台(1)

热门文章

  1. js根据数组对象中某属性进行排序
  2. ios 开发需要看的书籍
  3. getElementByID() getElementsByName() getElementsByTagName()的区别 .
  4. .Net MVC 自定义Action类型,XmlAction,ImageAction等
  5. 深入探究VC —— 编译器cl.exe(2)【转】http://blog.csdn.net/wangningyu/article/details/4837419...
  6. INSTALLSHIELD11.5中打包水晶报表的问题,ScriptProject与ScriiptMSIProject差异引起的错误!...
  7. 国内版Office 365和Azure AAD绑定的问题及解决方案
  8. 编写一个程序解决选择问题。令k=N/2。
  9. 小程序自定义tabbar custom-tab-bar 6s出不来解决方案,cover-view不兼容
  10. 【实践】端智能在大众点评搜索推荐重排序的应用实践