Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Дейтел Х.М. -> "Технологии профаммирования на Java 2 Книга 3" -> 66

Технологии профаммирования на Java 2 Книга 3 - Дейтел Х.М.

Дейтел Х.М. , Дейтел П.Дж., Сантри С.И. Технологии профаммирования на Java 2 Книга 3 — М.: Бином-Пресс, 2003. — 672 c.
ISBN 5-9518-0051-Х
Скачать (прямая ссылка): tehprogrammjava220033.pdf
Предыдущая << 1 .. 60 61 62 63 64 65 < 66 > 67 68 69 70 71 72 .. 271 >> Следующая

Метод get Guest List (строки 39-58) класса GuestDataBean возвращает список ArrayList объектов GuestBean, представляющих гостей в базе данных. Метод get-GuestList создает объекты GuestBean из результирующего множества ResultSet, возвращенного подготовленным оператором (объект типа PreparedStatement) get-Records, определенного в строках 25—28 и выполняемого в строке 44)
Метод addGuest класса GuestDataBean (строки 61-68) принимает в качестве ' параметра объект GuestBean и использует свойства объекта GuestBean в качестве параметров для подготовленного оператора (объект типа PreparedStatement) addRecord, определенного в строках 30-35. Этот подготовленный оператор (выполняемый в строке 67) помещает в базу данных сведения о новом госте.
Обратите внимание, что методы конструктора GuestDataBean getGuestList и addGuest не обрабатывают потенциальные исключения. В конструкторе в строке 19 может возбуждаться исключение ClassNotFoundException, а другие операторы могут возбуждать исключения SQLException. Аналогично, исключения SQL-Exception могут возбуждаться из тела методов getGuestList и addList. В этом примере мы сознательно разрешили передачу любых возникающих исключений обратно JSP-странице, которая вызывает конструктор или методы класса Guest-
142
Глава З
DataBean. Это дает возможность продемонстрировать применение страниц ошибок JSP. Если JSP-страница выполняет операцию, которая возбуждает исключение, JSP-страница может осуществить включение скриптлетов, перехватывающих исключение и обрабатывающих его. Исключения, которые не были перехвачены, могут быть отправлены для обработки в страницу ошибок JSP.
JSP-страница guestBookLogin.jsp (рис. 3.22) представляет собой модифицированную версию JSP-страницы forwardl.jsp (рис. 3.11) и выводит форму, в которой пользователи могут ввести свое имя, фамилию и адрес e-mail. Когда пользователь отправляет форму, страница guestBookLogin.jsp запрашивается снова, чтобы убедиться, что все значения данных были введены. Если нет, страница guestBookLogin.jsp еще раз выводит форму, чтобы пользователь мог заполнить пустое поле (поля). Если пользователь заполнил все три поля, JSP-страница guestBookLogin.jsp переадресовывает запрос к странице guestBookView.jsp, которая отображает содержимое гостевой книги.
1 <?xml version = "1.0"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3 "http://www.w3.org/TR/xhtmll/DTD/xhtmll-strict.dtd"> 4
5 <!— Рис. 3.22. guestBookLogin.jsp —> 6
7 <%-- параметры страницы --%>
8 <%@ page errorPage = "guestBookErrorPage.jsp" %> 9
10 <%— компоненты JavaBeans используемые этой JSP-страницей --%>
11 <jsp:useBean id = "guest" scope = "page"
12 class = "com.deitel.advjhtpl.jsp.beans.GuestBean" />
13 <jsp:useBean id = "guestData" scope = "request"
14 class = "com.deitel.advjhtpl.jsp.beans.GuestDataBean" /> 15
lfi <html xmlns = "http://www.w3.org/1999/xhtml"> 17
18 <head>
19 <title>Guest Book Login</title> 20
21 <style type = "text/css">
22 body {
23 font-family: tahoma, helvetica, arial, sans-serif;
24 } 25
26 table, tr, td {
27 font-size: . 9em;
28 border: 3px groove;
29 padding: 5px;
30 background-color: #dddddd;
31 }
32 </style>
33 </head> 34
35 <body>
36 <jsp:setProperty name = "guest" property = "*" /> 37
38 <% // начало скриптлета 39
40 if ( guest.getFirstNameO = null ||
41 guest.getLastMame() = null ||
JavaServer Pages (JSP)
143
42 guest.get?mai.l() = null ) { 43
44 %> <%— закрытие скриптлета для вставки данных с неизменной структурой —%>
45
46 <form method = "post" action = "guestBookLogin.jsp">
47 <p>Enter your first name, last name and email
48 address to register in our guest book.</p> 49
50 <table>
51 <tr>
52 <td>First name</td> 53
54 <td>
55 <input type = "text" name = "firstName" />
56 </td>
57 </tr>
Il
60 <td>Last name</td> 61
62 <td>
<input type = "text" name = "lastName" /> </td>
65 </tr>
66
67 <tr>
68 <td>Email</td> 69
70 <td>
71 <input type = "text" name = "email" />
72 </td>
73 </tx>
75 <tr>
76 <td colspan s= "2">
77 <input type = "submit"
78 value = "Submit" />
79 </td>
80 </tr>
81 </table>
82 </form> 83
84 <% // продолжение скриптлета 85
86 } Il конец блока if
87 else {
88 guestOata.addGuest( guest ); 89
90 %> <%-- закрытие скриптлета для вставки действия jsp:forward --%> 91
92 <%— переход к отображению содержимого гостевой книги —%>
93 <jsp:forward page = "guestBookView.jsp" /> 94
95 <% Il продолжение скриптлета 96
144
Глава З
97 } /І конец блока else
98
99 %> <%— конец скриптлета —%> 100 </body> 101
102 </html> _
Рис. 3.22. JSP-страница guestBookLogin.jsp дает возможность пользователю отправлять имя, фамилию и адрес e-mail для помещения их в гостевую книгу
Строка 8 в листинге кода страницы guestBookLogin.jsp содержит директиву page, которая определяет информацию, глобально доступную на JSP-странице. Директивы заключаются в ограничители <%@ и %>. В данном случае атрибут ег-rorPage директивы page указывает на страницу guestBookErrorPage.jsp (рис. 3.24), т.е. все не перехваченные исключения пересылаются для обработки странице guestBookErrorPage.jsp. Полное описание директивы page дается в разделе 3.7.
Предыдущая << 1 .. 60 61 62 63 64 65 < 66 > 67 68 69 70 71 72 .. 271 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100