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



         

Сервлет CompanyNewsServ


Форма HTML для обновления страницы новостей создается и управляется сер- влетом CompanyNewsServl et. Начальный вход в сервлет осуществляется с помощью HTML-страницы, в которой имеется обычная форма HTML для ввода имени автора и пароля. Пример такой страницы представлен в файле CoNewsUpdate.html, который находится на прилагаемом к книге компакт-диске. Сервлет отыскивает имя автора в файле свойств, проверяя таким образом, что этот человек имеет право на добавление новых сообщений.

В листинге 8.21 показан файл свойств для работы на сервере local host. Заметим, что имя автора является именем свойства, а пароль — его значением.

Листинг 8.21. Файл свойств, используемый сервлетом CompanyNewsServ (conewserv. properties)

# properties for CompanyNewsServ handler=http://localhost/servlet/conewserv thenewshandler=http://localhost/servlet/thenews newsfile=thenews.xml version=June 15, 2000 wbrogden=xmlrules

В листинге 8.22 показаны инструкции импорта, статические переменные и метод init для сервлета CompanyNewsServ.

Листинг 8.22. Начало кода метода CompanyNewsServ (ComanyNewsServ.java)

package com.XmlEcomBook.Chap08 ;

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

public class CompanyNewsServ extends HttpServlet { static String workDir = "E:\\scripts\\CompanyNews" ; static String propfile = "conewserv.properties" ; static String newsFile = "thenews.xml" ; static String handler = "http://localhost/servlet/conewserv" ; static String version = "v0.12"; static String pversion = "" ; static Properties cnProp ; static String brcrlf = "<br />\r\n" ;

public void init(ServletConfig config) throws ServletException { super.init(config); String tmp = config.getInitParameter("workdir"); if( tmp != null ) workDir = tmp ; tmp = config.getInitParameter("propfile"); if( tmp != null ) propfile = tmp ; System.out.println("Start CompanyNewsServ using " + workDir ); File f = new File( workDir, propfile ); try { cnProp = new Properties(); cnProp.load( new FileInputStream(f) ); tmp = cnProp.getProperty("handler"); if( tmp != null ) handler = tmp ; tmp = cnProp.getProperty("newsfile"); if( tmp != null ) newsFile = tmp ; pversion = cnProp.getProperty("version"); System.out.println("Loaded properties for CompanyNewsServ: " + handler + " file:" + newsFile ); }catch(IOException e){ System.out.println("Error loading " + e ); }




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