All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.j2mvc.framework.config.PropsConfig Maven / Gradle / Ivy

Go to download

强烈建议使用J2mvc 2.1以后的版本。 version 2.1.01 1.优化路径跳转,Servlet和Filter方式的路径设置 2.优化内存销毁 3.更换JSON依赖包 4.优化接收方法RequestMethod,封装不同ContentType格式提交 封装JSON,XML数据提交模块 JSON请求示例 { "id":"JSON134851", "title":"JSON提交的标题", "price":65.1, "stock":100 } XML请求示例 <!DOCTYPE root [ <!ELEMENT root ANY> <!ATTLIST Product SSN ID #REQUIRED>]> <root> <Product SSN='id'>XMLID12354</Product> <Product SSN='title'>XML提交的标题 </Product> <Product SSN='price'>55 </Product> <Product SSN='stock'>32 </Product> </root> version 2.1.02 1.解决URL无后缀情况无法加载静态资源,解决无法渲染CSS文件。 version 2.1.03 1.移除com.j2mvc.StringUtils.getUtf8()方法调用 更改为getCharset() version 2.1.04 1.去除Servlet和Filter的全局变量销毁,只交给Listener处理。 version 2.1.05,2.1.06,2.1.07 1.完善POST提交的JSON数据 支持接收基础数据类型、任意对象类型、任意数组类型。 不支持接收参数为集合类型或Map类型,但可以定义为接收对象类型的元素。 version 2.1.05,2.1.06,2.1.07 1.修改连接池变量 version 2.1.09 增加上传功能,修改RequestMethod,ContentType设置方式 version 2.1.10,2.1.11 更改上传文件名格式为UUID格式,移除JSON映射类,更改接收多文件上传。 version 2.1.12 删除文件列有的空对象 version 2.1.13 增加配置文件目录/conf,加载上传功能配置/conf/upload.properties version 2.1.18 拦截器也能获取ActionBean version 2.1.20 添加上传文件只读权限 version 2.1.21 支持同时接收文件和文本数据 version 2.1.22 增加文件接收类型media version 2.1.23 删除upload类printJson方法

The newest version!
package com.j2mvc.framework.config;

import java.io.File;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;

import javax.servlet.ServletContext;

import org.apache.log4j.Logger;

import com.j2mvc.util.PropertiesConfiguration;
/**
 * Properties 配置
 * @author 杨朔
 *
 */
public class PropsConfig {

	final static Logger log = Logger.getLogger(PropsConfig.class);
	static String confPath = "/conf/";
	static String configPath = "/config/";
	
	/**
	 * 
	 * @param fileName
	 */
	public static void init(ServletContext context){
		String classesPath = PropsConfig.class.getClassLoader().getResource("/").getPath();
		File file = new File(classesPath);
		init(context,file,null);
		
		File conf = new File(classesPath+confPath);
		if(conf.exists()) {
			init(context,conf,confPath);
		}
		File config = new File(classesPath+configPath);
		if(config.exists()) {
			init(context,config,configPath);
		}
	}
	public static void init(ServletContext context,File file,String path) {
		File[] files = file.listFiles();
		if(files!=null)
		for(File f:files){
			String fileName = f.getName();
			String suffix = f.getName().substring(fileName.lastIndexOf(".")+1,fileName.length());
			if("properties".equalsIgnoreCase(suffix)){
				init(context,(path!=null?path:"/")+fileName);
			}
		}
	}
	/**
	 * 
	 * @param context
	 * @param fileName
	 */
	public static void init(ServletContext context,String fileName) {
		String name = fileName.substring(fileName.lastIndexOf("/") + 1,fileName.lastIndexOf("."));
		if("log4j".equals(name)) {
			return;
		}
		if("logging".equals(name)) {
			return;
		}
		PropertiesConfiguration configuration = new PropertiesConfiguration(fileName);
    	Map map = configuration.map();
    	// 放入缓存
    	Config.props.put(name, map);
	   	Set> set = map.entrySet();
	   	Iterator> iterator = set.iterator();
	   	while (iterator.hasNext()) {
	   		 Entry entry = iterator.next();
	   		 String key = entry.getKey().trim();
	   		 String value = entry.getValue().trim();
	   		 key = name+key.substring(0, 1).toUpperCase()+key.substring(1, key.length());
	   		 log.info("已导入配置变量:"+key+"="+value);	
	     	 // 放入SESSION
	   		 context.removeAttribute(key);
	   		 context.setAttribute(key,value);
	     	 Config.attributes.put(key,value);
		}
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy