com.j2mvc.framework.config.PropsConfig Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of j2mvc-framework-web Show documentation
Show all versions of j2mvc-framework-web Show documentation
强烈建议使用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