先建个监听器:
package com.yjd.hy.server;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
import java.util.Map.Entry;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
/**
* 应用上下文监听器,读取配置文件、字典表
*
*/
public class MyServletContextListener implements ServletContextListener {
public void contextDestroyed(ServletContextEvent arg0) {
}
public void contextInitialized(ServletContextEvent arg0) {
/** 读取配置文件 **/
String specialPath = System.getProperty("search.root")
+ "/WEB-INF/properties/xxx.properties";
Properties props = new Properties();
try {
props.load(new FileInputStream(specialPath));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Map<String, String> ddMap = new HashMap<String, String>();
Iterator itr = props.entrySet().iterator();
while (itr.hasNext()) {
Entry e = (Entry) itr.next();
ddMap.put(e.getKey().toString(), e.getValue().toString());
}
arg0.getServletContext().setAttribute("xxx_dict_data", ddMap);
}
}
在Web.xml中配置监听器:
<!-- 加载全局配置文件、字典数据的监听器 -->
<listener>
<listener-class>com.yjd.hy.server.MyServletContextListener</listener-class>
</listener>
Java中获取:
Object obj=ServletActionContext.getServletContext().getAttribute("xxx_dict_data");
Jsp页面中直接获取:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'MyJsp.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
${xxx_dict_data['aaa.bbb']}
</body></html>