Технология JSP. Теоретические основы разработки приложений с применением jsp страниц и сервлетов, страница 8

try {

sq.executeUpdate(query);

Выводим сообщение о успешном результате операции

PrintWriter out = response.getWriter();

out.println("<hmml><head><title>New user</title></head><body><h3>User " +

name + " added.</body></html>");

} catch (SQLException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

}

private void subjectAction(HttpServletRequest request, HttpServletResponse response) {

String code = request.getParameter("code");

HttpSession session = request.getSession();

String user = (String) session.getAttribute("user");

Анализируем запрос на изменение информации о предмете, при этом проверяя корректность пришедших данных. Информация о том, какую операцию произвести, хранится в параметре code. Формируем соответствующий запрос.

if (code.compareTo("") != 0)

try{

if ((code.compareTo("delete") == 0)&&(request.getParameter("subject").compareTo("") != 0)) {

sq.executeUpdate("DELETE FROM subjects WHERE subject='" + request.getParameter("subject") + "'");

}else if ((code.compareTo("add") == 0)&&(request.getParameter("subject").compareTo("") != 0)) {

String query = "INSERT INTO subjects (subject, name) VALUES ('" + request.getParameter("subject") + "', '" + user + "')";

sq.executeUpdate(query);

}else if ((code.compareTo("set") == 0)&&(request.getParameter("subject").compareTo("") != 0)) {

String column = request.getParameter("column");

String value = request.getParameter("value");

String query = "UPDATE subjects SET " + column + "='"+ value +"' WHERE subject='" + request.getParameter("subject") + "'";

sq.executeUpdate(query);

}

Редирект на эту же страницу, теперь она отобразится с новыми данными

response.sendRedirect("subjects.jsp");

} catch (Exception e) {e.printStackTrace();}

}

public void destroy() {

try {

sq.close();

conn.close();

} catch (Exception e) {e.printStackTrace();}

super.destroy();

}

private Connection conn;

private Statement sq;

private static final int LOGIN_ACTION = 0;       Для удобства ставим в соответствие с кодом операции «говорящую» константу

private static final int UPDATE_PREPOD_ACTION = 1;

private static final int DELETE_PREPOD_ACTION = 2;

private static final int ADD_PREPOD_ACTION = 3;

private static final int SUBJECT_ACTION = 4;

}

Варианты индивидуальных заданий:

Разработать Web-приложение, позволяющее осуществлять взаимодействие с базой данных в соответствии с темой индивидуального задания. В приложении должны быть реализованы следующие функции:

1.  Просмотр, добавление, удаление и редактирование записей (по аналогии с тестовым примером).

2.  Возможность вывода информации из базы данных в отсортированном виде по каждому полю в зависимости от выбора пользователя (обновление должно происходить при «клике» мыши на соответствующем столбце в заголовке таблицы).

3.  Поиск по каждому полю.

Варианты индивидуальных заданий: Приложение должно быть основано на базе данных по учету:

1.  поступлений компакт-дисков в музыкальный магазин;

2.  товаров на складе мебельного магазина;

3.  продаж телевизоров в магазине техники;

4.  информации о студентах;

5.  информации о сотрудниках кафедры;

6.  информация о продаже мобильных телефонов;

7.  комплетующих в компьютерной фирме;

8.  поступлений цветов в цветочный магазин;

9.  наличия медикаментов в аптеке;

10. кредитных операций в банке;

11. поступления товаров в обувном магазине;

12. продажи билетов в кинотеатр;

13. информация о  пользователях в компьютерном клубе;

14. учет пациентов в поликлинике;

15. информация о клиентах бутика.