JavaWeb - 【Listener】初始化全局资源

JavaWeb - 【Listener】初始化全局资源

Listener使用步骤

Listener功能

初始化全局资源(读取配置文件)

ServletContext读取配置参数

context-param

一:Listener使用步骤

import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

import javax.servlet.annotation.WebListener;

@WebListener

public class MyServletContextListenerImpl implements ServletContextListener {

@Override

public void contextInitialized(ServletContextEvent sce) {

}

@Override

public void contextDestroyed(ServletContextEvent sce) {

}

}

二:Listener初始化全局资源

相关文章: IO

MyServletContextListenerImpl.java

import javax.servlet.ServletContext;

import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

import javax.servlet.annotation.WebListener;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

@WebListener

public class MyServletContextListenerImpl implements ServletContextListener {

@Override

public void contextInitialized(ServletContextEvent sce) {

// 初始化全局资源

// 1. 获取配置文件中context-param参数

ServletContext servletContext = sce.getServletContext();

String configuration = servletContext.getInitParameter("configuration");

String configurationRealPath = servletContext.getRealPath(configuration);

System.out.println(configurationRealPath);

// 2. 获得输出流

FileInputStream fileInputStream = null;

try {

fileInputStream = new FileInputStream(configurationRealPath);

// 3. 将配置文件流添加到servletContext域中

// 4. 或者解析该全局配置文件后将有用信息存储在ServletContext域中

servletContext.setAttribute("configurationInputStream",fileInputStream);

} catch (FileNotFoundException e) {

e.printStackTrace();

}

}

@Override

public void contextDestroyed(ServletContextEvent sce) {

FileInputStream configurationInputStream = (FileInputStream) sce.

getServletContext().getAttribute("configurationInputStream");

if(configurationInputStream!=null){

try {

configurationInputStream.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

三:ServletContext读取配置参数

web.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"

version="4.0">

configuration

/WEB-INF/classes/configuration.xml

JavaWeb - 【Listener】初始化全局资源相关教程

学习JavaWeb这一篇就够了

学习JavaWeb这一篇就够了 目录 第一章 开发工具 1.1、JDK安装 1.2、Tomcat安装 1.3、IDEA安装 1.4、IDEA集成Tomcat 1.5、IDEA运行JavaWeb 第二章 XML(选学) 2.1、XML的概述 2.2、XML的语法 2.3、XML的解析 第三章 YAML(选学) 3.1、YAML的概述 3.2、YAML的

C/C++:声明,定义,初始化

C/C++:声明,定义,初始化 虽然这是个不起眼的,但有时候就是很烦,我个人的习惯是直接初始化。 下面的例子哪个是声明,哪个是定义,哪个是初始化,哪个有空间? int a; //定义in a = 1; //初始化extern b; //声明 初始化后才有空间。但多想一点的话,局部

Spring 5.x 源码(4)—容器初始化(4)—两万字的refresh源码深度解

Spring 5.x 源码(4)—容器初始化(4)—两万字的refresh源码深度解析(3) ??基于最新Spring 5.x,对ClassPathXmlApplicationContext IoC容器的refresh()初始化方法进行了深度解析,主要内容就是prepareBeanFactory配置BeanFactory、invokeBeanFactoryPostProcess

ArrayList(int initialCapacity)会不会初始化数组的坑

ArrayList(int initialCapacity)会不会初始化数组的坑 原代码如下: public static void main(String[] args) { ArrayListObject arrayList = new ArrayList(10); System.out.println(arrayList.size()); arrayList.add(5,1);} 报错信息 0Disconnected from

django项目初始化

django项目初始化 django项目初始化 1、为了方便管理app,我们添加专门的apps文件夹来存放所有的app。结构如下 1.1设置完apps文件夹以后我们需要对配置文件做相应的更改 1.1.1、在seetings.py里添加django文件的导包路径 #settings.py import sys sys.path.in

JavaWeb的MVC(三层架构)

JavaWeb的MVC(三层架构) JavaWeb的MVC(三层架构) 文章目录 JavaWeb的MVC(三层架构) MVC概述 概念 作用 实现方式 JavaBean MVC概述 概念 什么是MVC? MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设

CentOs 7系统初始化--连接Xshell、创建本地yum源

CentOs 7系统初始化--连接Xshell、创建本地yum源 CentOs 7系统初始化 连接Xshell vim设置IP地址 编辑网卡配置 重启网卡 物理机配置 VM设置 关闭防火墙 Xshell设置 上网 建立本地yum源 光盘挂载 yum源的配置 vim编辑器删除的快捷方式 主机重命名为server5 host

JavaWeb - 【Filter】概述

JavaWeb - 【Filter】概述 什么是Filter? Filter使用步骤 配置web.xml 实现Filter接口 获取ServletPath 判断ServletPath 请求转发 Filter与Servlet的不同 一:什么是Filter? Filter(过滤器),是MVC模型中的Controller,同时Servlet也是MVC模型中的Control

java web 全局_JavaWeb - 【Listener】初始化全局资源相关推荐

  1. java web创意_javaweb有什么能做的项目,最好比较有创意一点

    有创意的JavaWeb项目 java 本人自己以想好项目,先谁有ajaxfileupload.js插件实现无刷新上传文件的例子 ?其他方法也行 邮箱 liuzhiming15955441@qq. co ...

  2. java web日期_java-web——第十一课 时间类

    前言: 在我们学习java web之中,实体类的属性经常会遇到时间类 时间类也是一个很重要的类, 首先我们先了解一下经常使用的时间类 经常使用的时间类也就是这三个类 具体的可以查阅api 我们这章主要 ...

  3. java web实验_javaweb实验报告

    javaweb实验报告 甘肃政法学院本科生实验报告(一)姓名:学院:计算机科学学院专业: 计算机科学与技术班级实验课程名称:实验日期:2012 年 04 月 9 日指导教师及职称实验成绩:开课时间:2 ...

  4. java web 题_javaWeb习题与答案

    <javaWeb习题与答案>由会员分享,可在线阅读,更多相关<javaWeb习题与答案(27页珍藏版)>请在人人文库网上搜索. 1.一.选择题(B) 01.WWW的英文全称是_ ...

  5. java web listener_JavaWeb:Listener

    1.ServletContextListener: 1).what:监听 ServletContext  对象被创建或销毁的 Servlet 监听器. 2).how: >创建一个实现了 Serv ...

  6. java web插件_javaweb项目插件实现机制

    如题,java开发web程序想实现插件机制有什么办法? 就比如:一个论坛,里面有签到,积分,第三方登录,编辑器选择等等的功能,现在我想把他们都抽出来,当成插件,论坛核心只保留用户的登录,注册,发帖,回 ...

  7. java web 登录_javaWeb实现登录功能

    1.三要素 (1) 入口 就是我们所在的页面 入口到处理的数据请求会出现乱码,用request.SetCharacterEncoding("UTF-8");来解决,仅仅是用用于Po ...

  8. java web监听器_JavaWeb监听器

    三大组件: Servlet Listener Filter Listener:监听器 * 它是一个接口,内容由我们来实现: * 它需要注册,例如注册在按钮上! * 监听器中的方法,会在特殊事件发生时被 ...

  9. java web弹幕_JavaWeb - AcFun弹幕视频网 - 认真你就输啦 (?ω?)ノ- ( ゜- ゜)つロ

    001-Servlet-学习内容介绍 002-IDEA-IDEA的下载与安装 003-IDEA-IDEA创建Java项目 004-IDEA-IDEA的基本设置 005-HTTP-浏览器和服务器的交互流 ...

  10. java web前端_JavaWeb前端: JavaScript 简介

    JavaScript基本概念 什么是JavaScript JS是运行在浏览器里的解释性语言,能实现浏览器端和用户的直接交互(HTML输出/响应事件/改变HTML内容图像样式):除了变量不区分类型以外, ...

最新文章

  1. 《如何高效学习》作者推荐!
  2. java 时间的封装类
  3. 解剖SQLSERVER 第十篇 OrcaMDF Studio 发布+ 特性重温(译)
  4. 电脑运行adb闪退_adb命令调试工具
  5. Linux中最方便的管理员获取方法
  6. 将Jersey与Spring整合
  7. 牛津美女硕士放弃百万年薪,用废弃物做轻奢包,马斯克妈妈也来捧场
  8. k8s pod里访问不到外部ip_安全公告:影响所有K8s版本的设计缺陷
  9. 关于代码审查,那些你不曾关注的细节
  10. 0基础学python有多难-0基础学Python有多难?
  11. 怎么看mac电脑wifi密码?很简单!
  12. 使用IAR和BSL下载程序至MSP430F2122
  13. Spring Cloud的注册中心和服务者,消费者的构建
  14. oracle vm虚拟盒,虚拟盒子内部版下载|虚拟盒子虚拟机下载_最火软件站
  15. Linux tar过滤文件
  16. 【文章思路、算法分析】Membership Inference Attacks Against Machine Learning Models
  17. 【附源码】Python计算机毕业设计人力资源管理系统
  18. 憋个大招!高性能mysql第四版pdf在线阅读
  19. C 程序设计语言-上
  20. JS惯性滚动,加速滚动

热门文章

  1. C#关于读写INI文件
  2. 树莓派使用神经计算棒1代的准备(Tensorflow)
  3. Android Scrollview嵌套RecyclerView导致滑动卡顿问题解决(屡试不爽)
  4. mysql.5.5.21_centos6下mysql-5.5.21的安装
  5. Hopsan完全编译构建指南
  6. Android开发之EditText输入框限制输入数字和字母的实现方式
  7. 手机ppt怎么添加页码_全网超详细的操作教程,手把手教你使用高效PPT小技巧!...
  8. 2019 Android 高级面试题总结 从java语言到AIDL使用与原理
  9. Gradle系列(三):项目实践
  10. 谨记2017年8月30日10:03:26