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



         

Код для сервлета TheNewsServ


Сервлет TheNewsServ можно использовать для отображения одного сообщения с указанным параметром id или для отображения нескольких сообщений с заданными параметрами topic и аде. В листинге 8.15 показаны инструкции импорта и статические переменные. Мы установили значения статических переменных равными заданным по умолчанию, но, разумеется, вам нужно будет заменить их на значения, отражающие ваши фактические настройки.

Листинг 8.15. Начало исходного кода сервлета TheNewsServ (TheNewsServ)

package com.XmlEcomBook.Chap08 ;

import java.io.*; import java.util.* ; import javax.servlet.*; import javax.servlet.http.*;

public class TheNewsServ extends HttpServlet { static String workDir = "E:\\scripts\\CompanyNews" ; static String newsFile = "thenews.xml" ; static String handler = "http://localhost/servlet/thenews" ; static String propfile = "conewserv.properties"; static String version = "v1.0"; static String pversion = "" ; static Properties cnProp ; static String brcrlf = "<br />\r\n" ; static String defaultHead = "<html>\r\n" + "<head><title>Company News Servlet</title></head>\r\n" + "<body>\r\n" + "<h2>Here is the news</h2>\r\n" ; static String defaultFoot = "</body></html>\r\n";

Метод init, показанный в листинге 8.16, считывает файл свойств, значения которых могут быть использованы для замены установленных по умолчанию значений статических переменных.

Листинг 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 ); }




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