Серверное приложение гостевой книги
Вы, вероятно, немало слышали об апплетах Java. Однако в главе 8 мы говорили о том, что доступ к базам данных на стороне клиента является плохой идеей. В примеры к этой книге мы включили реальное приложение, использующее сведения о JDBC, изложенные в этой главе, для создания класса Java на стороне сервера. Такие приложения называются сервлеты (servlet). Хотя серверные приложения сами по себе не являются частью трехзвенной архитектуры, обсуждавшейся нами в главе 8, данный пример хорошо иллюстрирует возможности использования JDBC. Это серверное приложение является Web-страницей, позволяющей посетителям вашего сайта оставить свое мнение о нем. Оставленные комментарии могут просматриваться другими посетителями. Все, что вам нужно знать о серверных приложениях для понимания этого примера, это то, что метод doPost() обрабатывает события HTTP POST, a de-Get () обрабатывает события HTTP GET.
В этом приложении две части: часть get и часть post. В обеих частях производится вызов метода printComments() для показа комментариев, оставленных в гостевой книге. В этом методе мы находим нечто, не встречавшееся нам в простых предыдущих примерах: вызов метода wasNull() после каждого извлечения значения колонки. Как и можно предположить из названия, wasNull() возвращает t rue, если последнее извлеченное значение было NULL в смысле SQL. В вызовах, возвращающих объект Java, значение обычно будет NULL, если при чтении из базы данных был получен NULL. Использование wasNull() в таких случаях может показаться излишним. Однако для простых типов данных выборка может возвращать допустимое значение. Метод wasNull() позволяет узнать, не было ли в базе данных значения NULL. Например, NULL в колонке целого типа возвращает 0 при вызове getlnt(). Чтобы узнать, что было в колонке - 0 или NULL, нужно вызвать wasNull().