Самый простой способ предоставить веб-приложение Java со списками списков адресов электронной почты - PullRequest
0 голосов
/ 28 июля 2011

Я обновляю устаревшее веб-приложение Java (сервлеты и JSP), которое я унаследовал. Веб-приложение отправляет электронную почту и использует около 12 списков адресов электронной почты. Адреса электронной почты жестко запрограммированы в веб-приложении. Естественно, я хочу поместить эти списки адресов электронной почты в файл и прочитать их в веб-приложении.

В старые времена я помещал эти списки в файл * .properties в корневом каталоге веб-приложения.

Я предполагаю, что объекты Properties и файлы * .propertie - не современный Java-способ сделать это.

У меня есть один выбор - поместить каждый список электронной почты в файл web.xml как <context-param>, где <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 для чтения и токенизации файла в карту, где каждый ключ является именем списка адресов электронной почты, а каждое значение - массивом адресов электронной почты.

Я не уверен, как бы сложил все это вместе с типом файла, который я описал выше.

Любые предложения.

Моя цель - сделать это сначала самым простым, а затем самым современным способом (у меня есть книга о коллекциях и дженериках, но я все еще ее ассимилирую).

Заранее спасибо за любую помощь или идеи

Steve

1 Ответ

0 голосов
/ 28 июля 2011

Самый модный ответ - использовать формат JSON, но если файл .properties подходит для вашего случая использования, сделайте это. Не храните его в файле web.xml, поскольку ваши данные больше стандартного параметра значения ключа.

Это Java JSON Lib, которая имеет несколько голосов. https://stackoverflow.com/questions/338586/a-better-java-json-library/785066#785066

...