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