Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет_Стас.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
176 Кб
Скачать
☆

Search_books.Jsp

<%@page contentType="text/html" pageEncoding="utf-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<title>Поиск книги</title>

</head>

<body>

<h1>Поиск книги</h1>

<form action="search_b.jsp" method="POST">

<p>Название: <input type="text" name="name"></p>

<p>Автор: <input type="text" name="author"></p>

<p><input type="submit" value="Поиск"></p>

</form>

<p><a href="index.jsp">Return</a></p>

</body>

</html>

Take_b.Jsp

<%@page contentType="text/html" pageEncoding="utf-8"%>

<%@page import="javax.naming.*, library.*" %>

<%!

librarySessionRemote ejbRef;

%>

<%

InitialContext ic = new InitialContext();

ejbRef = (librarySessionRemote)ic.lookup("library.librarySessionRemote");

ejbRef.takeBook( Integer.parseInt(request.getParameter("book")) );

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<title>Книга взята</title>

</head>

<body>

<h1>Книга взята</h1>

<p><a href="index.jsp">Return</a></p>

</body>

</html>

Take_book.Jsp

<%@page contentType="text/html" pageEncoding="utf-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<title>Взять книгу</title>

</head>

<body>

<h1>Взять книгу</h1>

<%@page import="javax.naming.*, java.util.List, library.*" %>

<%!

librarySessionRemote ejbRef;

%>

<%

InitialContext ic = new InitialContext();

ejbRef = (librarySessionRemote)ic.lookup("library.librarySessionRemote");

List books = ejbRef.getBooks();

Books book;

String select = "";

int size = books.size(), sht;

if( size > 0 ) {

select += "<select name='book'>";

for(int i=0; i < size; i++) {

book = ((Books)books.get(i));

sht = book.getCnt() - book.getTohand();

if( sht > 0 )

select += "<option value='"+book.getId()+"'>"+book.getName()+" (осталось "+sht+" шт.)</option>";

}

select += "</select>";

}

%>

<form action="take_b.jsp" method="POST">

<p>Название книги: <%=select%> <input type="submit" value="Взять"></p>

</form>

<p><a href="index.jsp">Return</a></p>

</body>

</html>

Тестирование

В ходе тестировании мы проходим по все станицам и пытаемся ввести всевозможную информацию. Возможно с заранее некорректными данными.

В разделе «Добавление авторов книг» мы можем добавить только автора и т.к. это строка то любое значение является правильным, но если сделать строчку слушком большой, то вылетает сам браузер. Хотя я думаю, что можно подобрать такую строку, которую можно передать и которая будет слишком длинная для вставки в базу. Ещё, если не заполнить поле, то NetBeans выдаёт ошибку. Эти ошибки относятся ко всем полям строкового и числового типа, во всех разделах данного приложения. Не смотря на это, приложение выдаёт предсказуемый результат добавления книги в базу.

В разделе «Добавление новой книги» находится поле, где мы указываем число «Количество копий». И если это не так, то на экран выводится ошибка. Остальные поля строковые и являются обязательными, иначе вылетает ошибка, что некоторые поля пустые. Если все поля заполнены, то страница выдает предсказуемый результат.

В разделах «Взять книгу» и «Вернуть книгу» перед нами только выпадающие списки. Т.к. список отсылает id книги, то у нас всегда один результат.

На странице «Список книг» мы вообще ничего не вводим. И тут могут быть ошибки, только если NetBeans не отвечает, или не подключена база.