Java web利用配置文件脱离“硬编码”

今天在做项目的时候,老师突然问我是怎么解决项目中各处都要用到的一些常量,而且这些常量可能会随着部署地点和域名的变化发生相应变化。因为之前,这些常量都是在程序里面写死的,都没有想过这个问题;后来在老师的指导下,利用如下办法实现了相关常量的动态赋值。

1、定义一个常量类,类里面的field不要定义为final,应该定义为static,方便后面在程序启动的时候进行赋值。

public class CommonUtil {
	
	public static String SMS_URL;
	
	public static String SMS_UID;
	
	public static String SMS_KEY;
}

2、定义一个配置文件common.properties,由于配置文件里有中文,为了解决乱码问题,将文件格式设置为“UTF-8”;在该文件中定义常量的值:

sms.url=http://www.baidu.com/
sms.uid=我爱编程
sms.key=123456

3、定义一个servlet,在程序启动的时候加载该servlet,在servlet中定义一个setInit()方法,根据路径加载上面定义的common.properties,利用Properties类的getProperties()方法获取配置文件里面定义的相关变量的值,将值赋给常量类里的相关field;在servlet的init()方法中调用该方

你可能感兴趣的:(java,web,servlet,硬编码)