Язык SQL

Сервлет, обрабатывающий редактированиеинформации о клиенте


На 10.7 приводится код, описывающий частичную реализацию класса CustomerServlet, осуществляющего управление формой, изображенной на 10.2. После инициализации (строка 8) он создает объект класса CustomerEditor, CustomerEditor, и использует этот объект для всех CGI-запросов. Метод doPost (строки 16-45) формирует выходной поток (строки 20—22) и извлекает параметр action (строки 25—29). В строках 31—40 вызываются методы объекта CustomerEditor, чтобы выполнить действия, необходимые для обслуживания формы.

1 public class CustomerServlet extends HttpServlet {

2 //члены, продолжающие существование между запросами на обслуживание

3 CustomerEditor CustomerEditor = null;

4 //методы

5 public void init(ServletConfig config)

6 throws UnavailableException, ServletException {

7 super.init(config);

8 CustomerEditor = new CustomerEditor ();

9 // здесь происходит инициализация членов!

10 }

11 public void doGet(HttpServletRequest req.

12 HttpServletResponse res)

13 throws IOException , ServletException {

14 doPost(req, res);

15 }

16 public void doPost(HttpServletRequest request,

17 HttpServletResponse response)

18 throws IOException, ServletException {

19 //инициализация ответа с заголовком и запуск HtmlWriter

20 response.setContentType("text/html");

21 PrintWriter out = response.getWriter();

22 HtmlWriter htmlOut = new BigHitHtmlWriter(out, true);

23 // получение параметра действия ,

24 String action = request.getParameter("action") i

25 if (action==null) {//значение параметра действия отсутствует

26 htmlOut.printErrorPage("No action given");

27 out.close();

28 return;

29 }

30 try {

31 if (action.equals("Forward") ) {

32 CustomerEditor.moveForward() ;

33 Г else if (action.equals("Update")) {

34 CustomerEditor.update(new Customer(req));

35 } else if (action.equals("Backward")) {

36 CustomerEditor.moveBackward() ;

37 } else { // следуют другие действия

38 }

39 //после завершения действия происходит возвращение новой

  страницы

40 refreshPage(htmlOut);

41 } catch (SQLException e) {

42 htmlOut.printSimplePage("failure of action " +action,null);

43 }

44 out.close();

45 }

46 //остальные методы перечислены без реализации

47 public void refreshPage(Htmlwriter out) {

48 public void printEditPage(Customer customer, HtmlWriter out){

49 }

Комментарии закрыты