【问题标题】:Easiest way to supply a Java webapp with lists of email lists为 Java webapp 提供电子邮件列表列表的最简单方法
【发布时间】:2011-07-28 17:46:05
【问题描述】:

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

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

我猜 Properties 对象和 *.propertie 文件不是现代 Java 的方法。

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

我希望我的配置文件像属性文件一样具有非技术用户友好性,包含 cmets、空格、键值对,即

########################################
##  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。

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

任何建议。

我的目标是首先以最简单的方式,然后以最现代的方式做到这一点(我有一本关于集合和泛型的书,但我仍在吸收它)。

提前感谢您的任何帮助或想法

史蒂夫

【问题讨论】:

  • 将它们放入数据库,并编写一个界面供用户添加/删除/编辑地址。这是对用户最友好的方式。

标签: java email web-applications servlets


【解决方案1】:

流行的答案是使用 JSON 格式,但如果 .properties 文件适用于您的用例,那就去吧。避免将其存储在 web.xml 中,因为您的数据大于标准键值参数。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-10
    • 2012-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多