使用电子邮件列表列表提供Java webapp的最简单方法

时间:2011-07-28 17:46:05

标签: java email web-applications servlets

我正在翻新我继承的遗留Java webapp(servlet和JSP)。 webapp发送电子邮件,它使用大约12个电子邮件地址列表。电子邮件地址被硬编码到webapp中。当然,我想把这些电子邮件地址列表放到一个文件中,然后让webapp读取它们。

在过去,我会将这些列表放入webapp根目录中的* .properties文件中。

我猜测属性对象和* .propertie文件不是现代Java方法。

我有一个选择是将每个电子邮件列表作为<context-param>放入web.xml,<param-value>是逗号分隔的电子邮件地址列表。然后,我将使用context.getInitParameter()按名称检索每个列表,然后编写一个函数来标记电子邮件并将每个列表放入ArrayList。我的直觉告诉我,它比以前更麻烦。

我希望我的配置文件像属性文件一样非技术用户友好,带有注释,空格,键值对,即

########################################
##  This file lists the email lists
#########################################

customerList =  joeblow@gmail.com,sara@yahoo.com
managerList  =  jack@biz.com,jane@bigorg.gov

##########################################
##  end of file
##########################################

此类文件将包含12个此类列表,其中包含大约10个不同的电子邮件地址

我知道如何使用Properties类在WAR中找到这样的文件并将其轻松加载到属性对象中。

问题在于如何优雅地从属性对象中获取这12个列表中的每一个,并将其标记为单个ArrayList(具有命名引用)

我是否正确地认为Prooperties课程已经被现代收藏品淘汰了?我猜测的方法是使用Scanner类将文件读取并标记为Map,每个键都是电子邮件列表的名称,每个值都是电子邮件地址的ArrayList。

我不确定如何将所有这些与我上面描述的文件类型放在一起。

任何建议。

我的目标是首先以最简单的方式,然后以最现代的方式(我有一本关于收藏和泛型的书,但我仍在同化它)。

提前感谢任何帮助或想法

史蒂夫

1 个答案:

答案 0 :(得分:0)

时髦的答案是使用JSON格式,但如果.properties文件适用于您的用例,请选择它。避免将其存储在web.xml中,因为您的数据大于标准键值参数。

这个java json lib有一些upvotes。 https://stackoverflow.com/questions/338586/a-better-java-json-library/785066#785066