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

         

Метод init класса...



Листинг 8.16. Метод init класса TheNewsServ (TheNewsServ.java)

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 TheNewsServ using " + workDir );
File f = new File( workDir, propfile );
try { cnProp = new Properties();
cnProp.load( new FileInputStream(f) );
tmp = cnProp.getProperty("thenewshandler");
if( tmp != null ) handler = tmp ; pversion = cnProp.getProperty("version");
if( pversion != null ){ defaultFoot = "<hr>
<br>
News Servlet " + version + " properties: " + pversion + "<br>
\r\n" + "</body>
\r\n</html>
\r\n" ; } NewsFormatter.setHandler( handler );
System.out.println( new Date().toString() + " Loaded properties for TheNewsServ: " + handler );
}catch(IOException e){ System.out.println("Error loading " + e );
} }

Функциональность сервлета сконцентрирована в методе doGet, как видно из листинга 8.17. В запросе можно передать значения параметров, определяющих тему сообщений, максимальный «возраст» сообщений, требуемый способ представления и идентификатор сообщения. Заметим, что создается объект Fi I e, соответствующий файлу XML с сообщениями, и передается конструктору NewsFormatter. Использование объекта File гарантирует, что соблюдаются соглашения относительно разделителей для компонентов пути; NewsFormatter не открывает этот файл, но использует его имя при получении объектной модели документа для этого файла из DOMlibrary.



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