• 热门专题

如何使得Web应用的全局变量轻松实现

作者:whl  发布日期:2018-11-19 08:56:00
Tag标签:Web应用,全局变量  
  •   很多人对于properties文件都不是很熟悉,不知道这个文件有什么作用,下面小编就给大家讲解一下该如何使用properties文件来对Web应用进行设置使得全局变量能够完美实现。有需要的朋友不要犹豫赶紧往下看吧!

      四大作用域:

      Web应用中的变量存放在不同的jsp对象中,会有不一样的作用域,四种不同的作用域排序是 pageContext < request < session < application;

      1、pageContext:页面域,仅当前页面有效,离开页面后,不论重定向还是转向(即无论是redirect还是forward),pageContext的属性值都失效;

      2、request:请求域,在一次请求中有效,如果用forward转向,则下一次请求还可以保留上一次request中的属性值,而redirect重定向跳转到另一个页面则会使上一次request中的属性值失效;

      3、session:会话域,在一次会话过程中(从浏览器打开到浏览器关闭这个过程),session对象的属性值都保持有效,在这次会话过程,session中的值可以在任何页面获取;

      4、application:应用域,只要应用不关闭,该对象中的属性值一直有效,并且为所有会话所共享。

      利用ServletContextListener监听器,一旦应用加载,就将properties的值存储到application当中

      现在需要在所有的jsp中都能通过EL表达式读取到properties中的属性,并且是针对所有的会话,故这里利用application作用域,

      那么什么时候将properties中的属性存储到application呢?因为是将properties的属性值作为全局的变量以方便任何一次EL的获取,所以在web应用加载的时候就将值存储到application当中,

      这里就要利用ServletContextListener:

      ServletContextListener是Servlet API 中的一个接口,它能够监听 ServletContext 对象的生命周期,实际上就是监听 Web 应用的生命周期。

      当Servlet 容器启动或终止Web 应用时,会触发ServletContextEvent 事件,该事件由ServletContextListener 来处理。

      具体步骤如下:

      1、新建一个类PropertyListenter实现 ServletContextListener接口的contextInitialized方法;

      2、读取properties配置文件,转存到Map当中;

      3、使用ServletContext对象将Map存储到application作用域中;

    application作用域
    application作用域

      4、在web.xml中配置上面的的监听器PropertyListenter:

    PropertyListenter

      配置好后,运行Web应用,就能在所有的jsp页面中用EL表达式获取到properties中的属性值了。

      上面这篇文章对于如何使用properties文件来轻松实现Web应用的全局变量的教程都进行了详细的讲解,大家只需要按照教程所说的步骤来进行操作,那么想要达到目的还是非常简单的。如果大家对于上面的内容还有什么不明白的话可以给小编留言,小编会第一时间进行解答的。

延伸阅读:

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规