监听tomcat服务器启动/关闭并从配置文件中读取参数进行初始化
监听tomcat服务器启动/关闭很简单(2步):
1. 建立一个类实现ServletContextListener接口,重写其中的方法(contextDestroyed和contextInitialized)。
package action;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class SystemListener implements ServletContextListener{
@Override
public void contextDestroyed(ServletContextEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void contextInitialized(ServletContextEvent arg0) {
// TODO Auto-generated method stub
}
}
2. 在web.xml中注册该监听器。如下:
<listener>
<description>监听tomcat</description>
<display-name>test</display-name>
<listener-class>listener.SystemListener</listener-class>
</listener>
监听tomcat启动和关闭就这么简单地完成了。可以把一些tomcat启动时就需要初始化的属性和需要完成的操作放到这步来完成。
下面是完整的项目代码:
1. 目录结构
aaarticlea/png;base64,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" alt="" width="239" height="354" />
2. 监听类
package listener; import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.Properties; import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener; import pub.SystemProperty; /**
* 系统上下文启动/关闭监听
* 把需要初始化的数据放在contextInitialized方法里
*
* @author Sky
* @date 2016年8月10日 上午9:32:09 listener
*/
public class SystemListener implements ServletContextListener { @Override
public void contextDestroyed(ServletContextEvent arg0) {
System.out.println("tomcat关闭了...");
} @Override
public void contextInitialized(ServletContextEvent arg0) {
System.out.println("tomcat启动了..."); /**
* 读取系统运行基本参数
* 读取静态参数
*/
InputStream input = null;
try {
input = SystemListener.class.getClassLoader().getResourceAsStream(
"sqlProperty.properties");
Properties p = new Properties();
p.load(input); String sqlPort = p.getProperty("port", "3306");
SystemProperty.port = (sqlPort == null || "".equals(sqlPort)) ? 3306
: Integer.parseInt(sqlPort);
SystemProperty.password = p.getProperty("password"); System.out.println("系统初始化成功"); } catch (Throwable e) {
e.printStackTrace();
System.out.println("系统配置文件SystemProperty.properties不存在或读取错误");
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} /**
* 读取时间配置
* 读取其他配置文件,并把配置文件的数据加入静态容器中,以便通过类名取出使用
*/
input = null;
try {
input = SystemListener.class.getClassLoader().getResourceAsStream(
"timeProperty.properties");
Properties p = new Properties();
p.load(input);
//列举
Enumeration<?> propNames = p.propertyNames();
while (propNames.hasMoreElements()) {
String key = (String) propNames.nextElement();
String value = p.getProperty(key, "");
SystemProperty.propList.put(key, value); //放入静态容器中
} System.out.println("时间配置初始化成功"); } catch (Throwable e) {
e.printStackTrace();
System.out.println("时间配置文件timeProperty.properties不存在或读取错误");
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
3. struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="abc" namespace="/" extends="struts-default">
<action name="test" class="action.TestAction">
<result name="input">/index.jsp</result>
<result name="success">/success.jsp</result>
<result name="fail">/fail.jsp</result>
</action>
</package>
</struts>
3. web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <listener>
<description>监听tomcat</description>
<display-name>test</display-name>
<listener-class>listener.SystemListener</listener-class>
</listener> <filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
</web-app>
4. 静态属性、容器类(方便使用类名直接调用)
package pub; import java.util.HashMap;
import java.util.Map; /**
* 静态存储系统运行所需的基本参数,在启动的时候被初始化
*
* @author Sky
* @date 2016年8月10日 上午10:19:12
* pub
*/
public class SystemProperty {
/*
* 设置为静态,直接使用类名调用
*/
public static int port; //端口号
public static String password; //密码
//静态容器,用来存储后面扩展添加的配置(添加其他的配置文件,使得本类来调用)
public static Map<String, String> propList = new HashMap<String, String>();
}
5. properties配置文件
sqlProperty.properties
#端口号
port=1234
#密码
password=6666
timeProperty.properties
#默认时间2秒
normalTime=2000
#一天
oneDay=86400000
6. 测试(使用)类
package action; import pub.SystemProperty;
import com.opensymphony.xwork2.ActionSupport; public class TestAction extends ActionSupport {
private static final long serialVersionUID = 1L; @Override
public String execute() throws Exception { // 因为是静态变量,所以直接从类名.变量的方式获取
int port = SystemProperty.port;
String password = SystemProperty.password; System.out.println("port=" + port);
System.out.println("password=" + password); //从静态容器中取
String normalTime = SystemProperty.propList.get("normalTime");
String oneDay = SystemProperty.propList.get("oneDay"); System.out.println("normalTime=" + normalTime);
System.out.println("oneDay=" + oneDay); return SUCCESS;
}
}
7. 输出结果如下:
aaarticlea/png;base64,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" alt="" />
如有问题,请联系QQ:409169399,答案:Sky。
监听tomcat服务器启动/关闭并从配置文件中读取参数进行初始化的更多相关文章
- 监听Web容器启动与关闭
在Servlet API 中有一个 ServletContextListener 接口,它能够监听 ServletContext 对象的生命周期,实际上就是监听 Web 应用的生命周期. 要监听web ...
- Tomcat服务器启动常见问题
参考:http://www.cnblogs.com/xdp-gacl/p/3729033.html 学习web开发,需要先安装一台web服务器,然后再在web服务器中开发相应的web资源,供用户使用浏 ...
- 监听程序未启动或数据库服务未注册到该监听程序。启动该监听程序并注册数据库服务 然后重新运行 em configuration assistant。
在WIN 7/64Bit上安装ORACLE 11gR2后,管理网页Database Control(如:https://localhost:1158/em)始终登录不进去,总是说密码错误,使用配置工具 ...
- Oracle数据库监听服务无法启动
(1) 安装好Oracle后,启动Net Manager,测试orcl失败,报错“ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务”,需要修改监听文件.修改前: # list ...
- Android中如何监听GPS开启和关闭
转自 chenming 原文 Android中如何监听GPS开启和关闭 摘要: 本文简单总结了如何监听GPS开关的小技巧 有时需要监听GPS的开关(这种需求并不多见).实现的思路是监听代表 GPS ...
- oracle监听程序无法启动(TNS-12560: TNS: 协议适配器错误,TNS-00530: 协议适配器错误)
问题描述1: C:\Users\Administrator>lsnrctl start LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Pr ...
- oracle 11g在安装过程中出现监听程序未启动或数据库服务未注册到该监听程序
15511477451 原文 oracle 11g在安装过程中出现监听程序未启动或数据库服务未注册到该监听程序? 环境:win7 64位系统.oracle11g数据库 问题描述:在win7 64位系统 ...
- JAVAWEB tomcat服务器启动错误原因总结
tomcat服务器启动错误: org.apache.catalina.LifecycleException 这种异常的原因是 servlet的代码出现了错误 实例: 这里的servlet由于使 ...
- oracle监听查看、启动和停止
oracle监听查看.启动和停止 查看监听lsnrctl status 停止监听lsnrctl stop 启动监听lsnrctl start
随机推荐
- ecilipse Javadoc文档注释
— 标签 @param @param 空格后面跟上形参(不是数据类型)空格后跟着对该参数的描述. 在描述中第一个名字为该变量的数据类型 对于参数的描述是一个句子,最好不要首字母大写, 如果出现了句号这 ...
- 直接引用windows命名空间
再逛博客的时候,看见一段这样代码.获取系统密码的 static void DumpCredentials(Windows.Security.Credentials.PasswordCredential ...
- GCC警告提示错误“cc1:all warnings being treated as errors”
http://blog.csdn.net/zhangjs0322/article/details/25131787
- poj 1195Mobile phones
http://poj.org/problem?id=1195 #include <cstdio> #include <cstring> #include <algorit ...
- 破解简单Mifare射频卡密钥杂记
先要了解一点大学城浴卡用的是什么卡,经查证是Mifare S50卡,也有叫ISO14443A的(协议名).本来想看看大学城浴卡有没有安全漏洞,没想到浴卡公司在安全性上几乎是蔑视我们大学生的智商,虽然被 ...
- 【HDOJ】1107 武林
简单模拟,题目数据太弱太弱了. /* 1107 */ #include <iostream> #include <cstdio> #include <cstring> ...
- BZOJ1627: [Usaco2007 Dec]穿越泥地
1627: [Usaco2007 Dec]穿越泥地 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 478 Solved: 303[Submit][Sta ...
- Spark处理Json格式数据(Python)
前言 Spark能够自动推断出Json数据集的“数据模式”(Schema),并将它加载为一个SchemaRDD实例.这种“自动”的行为是通过下述两种方法实现的: jsonFile:从一个文件目 ...
- HDU_1430——魔板,预处理,康托展开,置换,string类的+操作
Problem Description 在魔方风靡全球之后不久,Rubik先生发明了它的简化版——魔板.魔板由8个同样大小的方块组成,每个方块颜色均不相同,可用数字1-8分别表示.任一时刻魔板的状态可 ...
- 使用libevent进行多线程socket编程demo
最近要对一个用libevent写的C/C++项目进行修改,要改成多线程的,故做了一些学习和研究. libevent是一个用C语言写的开源的一个库.它对socket编程里的epoll/select等功能 ...