!!! Listing 1 import java.io.*; import javax.servlet.*; public class SimpleServlet extends GenericServlet { public void service (ServletRequest req, ServletResponse res) throws ServletException, IOException { // hier werden die Anfragen behandelt } } !!! Listing 2 import javax.servlet.http.*; public class SimpleHttpServlet extends HttpServlet { public void doPost (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { // hier kann auf POST-Parameter reagiert werden } public void doGet (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { // hier kann auf GET-Parameter // reagiert werden } } !!! Listing 3
Bitte geben Sie hier Ihren Namen ein:

!!! Listing 4 // test.cgi - das Servlet zum HTML-File import javax.servlet.http.*; import java.io.*; public class SimpleHttpServlet extends HttpServlet { public void doPost (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType ("text/html"); PrintStream out = new PrintStream (res.getOutputStream ()); out.println (""); out.println ("Ihr Name ist "+req.getParameter ("der_name")); out.close (); } } !!! Listing 5 Uhrzeit: !!! Listing 6 // das Servlet, registriert als DateServlet import java.io.*; import javax.servlet.*; import java.util.Date; public class SimpleServlet extends GenericServlet { public void service (ServletRequest req, ServletResponse res) throws ServletException, IOException { PrintStream out = new PrintStream (res.getOutputStream ()); res.setContentType ("text/plain"); out.println ((new Date ()).toString ()); out.close (); } } !!! Listing 7 Volle Datenbank-Abfrage Ihr Server versteht keine Servlets !!! Listing 8 Abfrage der Personen-DB
VName:

NName:

!!! Listing 9 /** * Klasse, die die Informationen über eine Person aus der DB speichert */ public class Person { private String vname, nname, strasse, plz, ort; public Person (String vname, String nname, String strasse, String plz, String ort) { this.vname = vname; this.nname = nname; this.strasse = strasse; this.plz = plz; this.ort = ort; } public String getVName () { return vname; } public String getNName () { return nname; } public String getStrasse () { return strasse; } public String getPLZ () { return plz; } public String getOrt () { return ort; } } !!! Listing 10 package beispiel.db; import java.sql.*; import java.util.*; import beispiel.Person; /** * Klasse, die eine ODBC-Datenbank via JDBC nach Personen abfragt */ public class DBAnbindung { private Connection con = null; public DBAnbindung (String connectString, String driver, String user, String password) throws SQLException, ClassNotFoundException { Class.forName (driver); con = DriverManager.getConnection (connectString, user, password); } public static void showSQLErrors (SQLException ex) { while (ex != null) { System.out.println ("SQLState: " + ex.getSQLState ()); System.out.println ("Message: " + ex.getMessage ()); System.out.println ("Vendor: " + ex.getErrorCode ()+"\n"); ex = ex.getNextException (); } } public synchronized Person[] getPersonen (String vname, String nname) throws SQLException { Statement stmt = con.createStatement (); ResultSet rs = stmt.executeQuery ("select vname, nname, strasse, plz, ort from Personen where vname like '%"+vname+"%' and nname like '%"+nname+"%'"); Vector personen = new Vector (); while (rs.next ()) { Person neuePerson = new Person (rs.getString (1), // vname rs.getString (2), // nname rs.getString (3), // strasse rs.getString (4), // plz rs.getString (5)); // ort personen.addElement (neuePerson); } Person[] returnValues = new Person[personen.size ()]; for (int i = 0; i < personen.size (); i++) returnValues[i] = (Person) personen.elementAt (i); return returnValues; } protected void finalize () { try { if (con != null) con.close (); } catch (SQLException ex) { DBAnbindung.showSQLErrors (ex); } } } !!! Listing 11 package beispiel.servlet; import java.io.*; import java.sql.SQLException; import javax.servlet.*; import javax.servlet.http.*; /** * Klasse zum Anzeigen von Personendaten * anhand eines Suchstrings für Vorname und Nachname */ public class PersonServlet extends HttpServlet { private DBAnbindung db; /** * initialisiert DB-Verbindung beim Initialisieren * Folgende Parameter müssen dabei dem Servlets übergeben werden: * driver (Bsp.: sun.jdbc.odbc.JdbcOdbcDriver) * connect_string (Bsp.: jdbc:odbc:Access) * user, password */ public void init(ServletConfig conf) throws ServletException { super.init (conf); try { db = new DBAnbindung (getInitParameter ("connect_string"), getInitParameter ("driver"), getInitParameter ("user"), getInitParameter ("password")); } catch (SQLException ex) { DBAnbindung.showSQLErrors (ex); throw new ServletException ("SQL-Fehler"); } catch (ClassNotFoundException ex) { System.err.println ("Klasse nicht gefunden."); throw new ServletException ("Klasse nicht gefunden"); } } public void service (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { // liefern wir mal den Beginn einer HTML-Seite res.setContentType("text/html"); ServletOutputStream out = res.getOutputStream (); out.println (""); out.println ("Personen anzeigen"); out.println (""); String nname = req.getParameter ("nname"); String vname = req.getParameter ("vname"); Person personen[] = null; try { if (db != null) personen = db.getPersonen (vname, nname); else { out.println ("
"); out.println ("Keine Verbindung zur Datenbank!"); out.println (

"); } } catch (SQLException ex) { DBAnbindung.showSQLErrors (ex); } if ((personen != null) && (personen.length != 0)) { out.println (""); out.println (""); out.println (""); for (int i = 0; i < personen.length; i++) { out.println (" \n "); out.println (" "); out.println (" "); out.println (" "); out.println (" \n "); } out.println ("
VornameNachnameStrassePLZOrt
"+personen[i].getVName ()+""+personen[i].getNName ()+""+personen[i].getStrasse ()+""+personen[i].getPLZ ()+""+personen[i].getOrt ()+"
"); } else out.println ("Keine entsprechenden Datensätze vorhanden."); out.close (); } }