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

   Смотрите www.spetsmedpribor.net набор пробных линз купить. |       

Статические переменные...



Листинг 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 " + version );
String tmp = config.getInitParameter("workdir");
if( tmp != null ) catPath = tmp ; File f = new File( catPath, "catalog.properties");
if( f.exists() && f.canRead() ){ FileInputStream fis = new FileInputStream(f) ; catProp.load( fis );
fis.close();
tmp = catProp.getProperty("csspath");
if( tmp != null ) cssLinkB = tmp; tmp = catProp.getProperty("host");
if( tmp != null ) host = tmp ; tmp = catProp.getProperty("resourcepath" ) ; if( tmp != null ) resourcepath = tmp ; tmp = catProp.getProperty("catalogservlet");
if( tmp != null ) servlet = tmp ; tmp = catProp.getProperty("checkoutservlet" );
if( tmp != null ) checkout = tmp ; } else { System.out.println ("CatalogServ can't read catalog.properties");
} resources = host + resourcepath ; alias = host + servlet ; checkoutalias = host + checkout ; System.out.println( "resources:" + resources );
System.out.println("servlet: " + alias );
System.out.println("checkout: " + checkoutalias );
CatalogBean.setTheCatalog( catPath, catName );
CatalogBean.setResourcePath( resources );
}catch( Exception e ){ System.out.println("CatalogTestServ init " + e );
} }

Заметим, что метод init вызывает два статических метода из класса CatalogBean. Вызов метода setTheCatal од необходим для считывания данных из файла XML, а метод setTheResoursePath устанавливает путь, который будет использоваться для нахождения таких ресурсов, как изображения товаров. Определения класса Gala- togBean вы найдете далее в этой главе в разделе «Класс CalatogBean».



Содержание раздела