Прочитал 3 книги с меткой „JavaMail“

  • Разработка приложений Java EE 6 в NetBeans 7

    Дэвид Хеффельфингер

    Лишь пролистал.

    У Дэвида есть другие книги по тематике Java EE, так что, если любая из них уже прочитана, к этой стоит обращаться лишь в том случае, если код пишется в NetBeans - тут даются действительно толковые полезные советы как и что настроить.
    май 2017
  • Java EE 6 и сервер приложений GlassFish 3

    Дэвид Хеффельфингер

    После книг 10-ти летней давности приветствую свежесть материала. Есть краткая информация по сервлетам версии 3.0, что радует. Перевод лёгкий, приятный.

    Для совсем новичков я бы книгу не рекомендовал. Это бесполезная потеря времени и нервов. Перед освоением новой технологии очень рекомендую познакомиться с ней поближе, почитать статей, посмотреть примеры. Книга больше показывает как делать, чем раскрывает суть той или иной технологии. К ней надо подходить уже подкованным.

    Из других рассмотренных технологий - JSP 2.1, пользовательские теги, JSTL 1.2, JDBC на примерах MySQL и JavaDB, JPA 2.0, JSF 2.0, JMS, JAAS, EJB 3.1, JAX-WS, JAX-RS, JavaMail. Рассмотрена установка и настройка сервера приложений GlassFish 3.1, а так же его интеграция с NetBeans и Eclipse.

    По книге. Хорошее.
    Простой стиль изложения, обилие примеров, достаточно толковый перевод. Где надо всё детально разжёвывается, а где надо - даётся такой поток информации, что мозги закипают. Начало книги достаточно расслабленное, но потом придётся попотеть, чтобы всё освоить. И это на 400 страницах. Блокбастеры прошлого с трудом укладывались в 700-800. Главы с тегами JSP и JSTL достаточно ёмкие, JDBC раздел небольшой, а вот в JPA без сто грамм не разобраться, там где вопрос касается связей между таблицами. JMS и JAAS рассмотрены со всех сторон. Главы EJB, JAX-WS, JAX-RS, как мне показалось, подготовлены слабее и в спешке, отправка почты тоже рассмотрена без дополнительных разъяснений.

    Не очень.
    Ошибки в вёрстке книги периодически могут приводить к взрыву мозга. Местами в исходном коде переведены строки, которые должны быть на английском, взять хотя бы пример для JavaMail. Практика показала, что некоторые ошибки возникают только у читателей этой книги (в русском переводе) и больше ни у кого. Прибавим к этому, что книга всё-таки уже не новьё, да и некоторые моменты в ней были упущены. Как результат - многочасовое сидение в сети в поисках решения и ответов. Хотя, банальной логики и внимательности хватает, чтобы понять причину ошибки. По настройке GlassFish информация несколько устарела, но это не вина книги. Больше всего убил времени на установку GlassFish и на то, чтобы подружить его с Eclipse.

    Как оказалось, Eclipse Luna + GlassFish ныне требует Java 8, а заполучить её на Ubuntu 14.04 без приключений не получится. Ставил Kepler, он делает то же самое с Open JDK 7.

    А при установке GlassFish 3.1.2.2 - если кто войдёт по моим стопам - надо понимать, что путь к asadmin будет таким: /glassfish3/glassfish/bin/asadmin

    По JMS. Настройки ролей, групп и безопасности из sun-web.xml следует перенести в glassfish-web.xml.

    Пример с JDBC realm - при создании newJdbcRealm надо указать Digest Algorithm: MD5 и можно Charset: UTF-8. Ещё надо создать пул соединений UserAuthPool по примеру CustomerDBPool. Настройки: база - userauth, логин/пароль: admin/admin. Следом надо создать ресурс jdbc/__UserAuthPool. Только тогда аутентификация из базы заработает.

    Страница 300 (EJB). Надо:
    public class SimpleSessionBean implements SimpleSession {

    Ошибка в примерах JMS/EJB:
    org.glassfish.appclient.client.acc.UserError: The location ...... could not be opened as an archive; an app client or an enterprise app was expected.
    Решение (для Eclipse):
    При экспорте проекта из Eclipse следует проделать следующие обязательные шаги:
    1. Экспортировать как Jar file, не как Runnable Jar file.
    2. На странице JAR File Specification поставить галочку: Export all output folders for checked project
    3. На странице JAR Manifest Specification поставить галочку напротив Generate the manifest file. Внизу указать Main class: (кнопка Browse...)
    5. Finish.

    Непонятки в главах по EJB, JAX - подробностей не помню, но придётся немного попрыгать с бубном.

    Традиционно - все примеры для буржуев, чтобы заставить их работать с русским текстом приходится снова лезть и инет.
    сентябрь 2015
  • Java сервлеты и JSP. Сборник рецептов

    Брюс У. Перри

    Книжка старенькая, написана в 2004-м году. А это J2EE 1.4 (примеры писались для версии J2EE 1.2.1), Сервлеты 2.4, JSP 2.0, JSTL 1.0 (про 1.1 чуть написано), Tomcat 5, WebLogic 7.0. Плюс её в том, что без лишней теоретической нагрузки даются готовые решения для тех или иных задач, связанных с разработкой веб-серверов.

    По использованию сервлетов инфа интересная. А вот c JSP сложнее. Информация местами конкретно устарела, из-за чего примеры не запускаются. Чтобы их реанимировать - надо изрядно понервничать. Материал по WebLink пролистал. Не актуально.

    По-всей видимости, автор очень спешил, потому что периодически нахожу огрехи кода (переводчик тоже постарался), помню, попалось какое-то явное несоответствие, кажется, что-то связанное с Cookies. Встречается избыточный, не оптимизированный код. Но в целом для ознакомления с возможностями Сервлетов и JSP сойдёт. Правда, к этой книге надо подходить уже немного подготовленным. Хотя бы иметь понятия о сервлетах, и очень желательно иметь хоть немного практики в JSP, если эта технология интересует.

    Информация по доступу к API Google и Amazon совершенно устарела. Зато узнал что такие существуют :)

    Насчёт отправки и получения почты - примеры тоже сразу не заработают. Лучше не тратить время и искать готовые решения в сети.
    август 2015