package javacodebook.server.servletbasics.pathinfo; import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class CatalogServlet extends HttpServlet { private Hashtable catalog; public void init(ServletConfig config) throws ServletException { catalog = new Hashtable(); catalog.put("P001", new Book("Das Java Codebook", "Donnermeyer/Rusch/Brodersen/Skulschus/Wiederstein", "------", "Addison-Wesley")); catalog.put("P002", new Book("Das Excel-VBA Codebook", "Körn/Weber", "3-8273-1979-X", "Addison-Wesley")); catalog.put("P003", new Book("Das Acces-VBA Codebook", "Grießhammer/Michaels/Zerbe", "3-8273-1953-6", "Addison-Wesley")); } protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, java.io.IOException { res.setContentType("text/html"); java.io.PrintWriter out = res.getWriter(); out.println(""); out.println(""); if(req.getPathInfo() == null) showCatalog(out); else { String pathInfo = req.getPathInfo(); String prodNr = pathInfo.substring(pathInfo.lastIndexOf("/") + 1, pathInfo.lastIndexOf(".")); Book book = (Book)catalog.get(prodNr); if(book != null) { out.println("" + book.getTitle() + "
"); out.println(book.getAuthors() + "
"); out.println("ISBN " + book.getIsbn() + "
"); out.println(book.getPublisher() + "
"); } else { out.println("Kein Buch mit dieser Produktnummer gefunden"); } } out.println(""); out.println(""); } private void showCatalog(PrintWriter out) { out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); for(Enumeration keys = catalog.keys(); keys.hasMoreElements(); ) { String prodNr = (String)keys.nextElement(); Book book = (Book)catalog.get(prodNr); out.println(""); out.println(""); out.println(""); out.println(""); } out.println("
ProduktnummerBezeichnung
" + prodNr + "" + book.getTitle() + "
"); } } --- Neue Klasse --- package javacodebook.server.servletbasics.pathinfo; public class Book { private String title; private String authors; private String isbn; private String publisher; public Book(String title, String authors, String isbn, String publisher) { this.title = title; this.authors = authors; this.isbn = isbn; this.publisher = publisher; } public String getTitle() { return title; } public String getAuthors() { return authors; } public String getIsbn() { return isbn; } public String getPublisher() { return publisher; } } --- Auszug aus web.xml --- catalog javacodebook.server.servletbasics.pathinfo.CatalogServlet catalog /catalog/*