Электронный магазин на Java и XML

         

Код сервлета управления опросом


В листинге 7.4 показаны инструкции импорта, объявления классов и метод init для сервлета QuestionnaireServ. Статическая переменная homedir, значение которой может быть получено из ServletConfig, используется в методе init для считывания файла свойств. С помощью этого файла задается путь к исходному файлу XML для данной анкеты. Также файл свойств может потребоваться для того, чтобы задать значение переменной handler типа Srting. Это значение равно URL- адресу, который используется web-сервером для данного сервлета.

Листинг 7.4. Начало кода сервлета QuestionnaireServ (QuestionnaireServ.java)

package com.XmlEcomBook.Chap07;

import com.XmlEcomBook.DOMlibrary ; import org.w3c.dom.* ; import java.io.*; import java.util.* ; import javax.servlet.*; import javax.servlet.http.*;

public class QuestionnaireServ extends HttpServlet { static String brcrlf = "<br>\r\n" ; static String homedir = "e:\\scripts\\questionnaire" ; static String handler = "http://www.lanw.com/servlet/Questionnaire" ; static String version = "v1.0"; Properties qProp ;

public void init(ServletConfig config) throws ServletException { super.init(config); String tmp = config.getInitParameter("homedir"); if( tmp != null ) homedir = tmp ; System.out.println("Start QuestionnaireServ using " + homedir ); File f = new File( homedir, "questionnaire.properties"); try { qProp = new Properties(); qProp.load( new FileInputStream(f) ); tmp = qProp.getProperty("handler"); if( tmp != null ) handler = tmp ; System.out.println ("Loaded properties for Questionnaire handler: " + handler ); }catch(IOException e){ System.out.println("Error loading " + e ); } }

Сервлет QuestionnaireServ отслеживает взаимодействие с каждым пользователем, отвечающим на вопросы анкеты, в сеансах. Предполагается, что исходный запрос — это запрос методом GET с HTML-страницы, на которой имеется простая форма для определения значения переменной qname, идентифицирующей требуемую анкету. Приспосабливая этот сервлет для своего приложения, вы на этом этапе можете также записать идентификатор пользователя.




Содержание  Назад  Вперед