Как видно из листинга 4.4, в классе CatalogServ имеется некоторое количество статических переменных, которые определяют различные ресурсы Мы приводим типичные значения этих переменных В реальном сервлете эти значения заменяются специфичными для системы значениями, хранящимися в файле catalog.properties, откуда они считываются методом imt Мы будем использовать класс Properties — расширение класса Hashtable из пакета java.util, где содержатся очень удобные методы для загрузки текстовых параметров из файла
Листинг 4.4. Статические переменные и метод mit в сервлете CatalogServ (CatalogServ.java)
package com.XmlEcomBook.catalog;
import java.io.*;
import java.util.* ;
import javax.servlet.*;
import javax.servlet.http.*;
public class CatalogServ extends HttpServlet
{
static String brcrlf = "<br />\r\n" ;
static String version = "1.03 Oct 17, 2000";
static String cssLinkA = "<link rel=\"stylesheet\" href=\"" ;
// following is part of a web server URL for the style sheet
static String cssLinkB = "XmlEcommBook/catalog/catalog.css" ;
static String cssLinkC = "\" type=\"text/css\" media=\"screen\" >" ;
static String resourcepath = "XmlEcommBook/catalog/" ;
static String host = "http://localhost/";
// these are servlet engine aliases
static String servlet = "servlet/catalog" ;
static String checkout = "servlet/checkout" ;
// these are complete webserver paths
static String cssLink = cssLinkA + host + cssLinkB + cssLinkC ;
static String alias ; // for catalog servlet
static String checkoutalias ;
static String resources ; // for images, style sheets, etc
String catPath = "e:\\scripts\\XMLgifts" ; // for xml
String catName = "catalog.xml" ;
Properties catProp = new Properties();
public void init(ServletConfig config) throws ServletException
{ try {
super.init(config);
System.out.println("CatalogTestServ init called, version "