Vollständiger Quell-Code für das Servlet "Info"
/****************************************************************************************
* Klasse zur Generierung des Informationsfensters für Katalog- bzw. Herstellerinfos *
* *
****************************************************************************************/
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class Info extends HttpServlet {
private OraDBConnect dbcon = null;
private PageGenerator pageGen = null;
private String page = null;
// globaler Fehlercode
private String error = null;
// globale Fehlervariable
private boolean noError = true;
/************************************************************************************
* Initialisierungsabschnitt des Servlets *
* *
* - Verbindungsaufbau zur Datenbank *
* - Erzeugung des Objekts zur Generierung der dynamischen HTML-Seiten *
************************************************************************************/
public void init() throws ServletException {
try {
dbcon = new OraDBConnect("jdbc:oracle:thin:user/passwd@141.57.9.9:1521:IMNLehre");
pageGen = new PageGenerator();
}
catch (SQLException e) {
throw new UnavailableException(this, "Initialisierungsfehler: " + e);
}
}
/************************************************************************************
* Beendigungsabschnitt des Servlets *
* *
* - Verbindungsabbau zur Datenbank *
************************************************************************************/
public void destroy() {
try {
dbcon.OraDBClose();
}
catch (SQLException e) {
// sollte nicht vorkommen
}
}
/************************************************************************************
* Verarbeitungsabschnitt des Servlets für Request mittels HTTP-GET-Operation *
* *
************************************************************************************/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String result = "";
String producer_id = "";
String catalog_id = "";
String query = "";
String sourceFile = "";
String replaceString = "";
String[] param1 = null;
noError = true;
String infotype = request.getParameter("p_infotype");
if (infotype != null) {
// Informationen über den Hersteller
if (infotype.equals("Hersteller-Info")) {
// Parameter "p_producer_id" der Produktseite abfragen
producer_id = request.getParameter("p_producer_id");
if (producer_id == null) {
producer_id = "-1";
}
else {
if (producer_id.equals("")) producer_id = "-1";
}
String[] param1_1 = {"NAME","STRASSE","NUMMER","PLZ","STADT","BUNDESLAND","LAND","TELEFON","FAX","E_MAIL","INTERNETADRESSE"};
param1 = param1_1;
query = "SELECT h.name,a.strasse,a.nummer,a.plz,a.stadt,a.bundesland,a.land,a.telefon,a.fax,a.e_mail,a.internetadresse FROM adresse a, hersteller h WHERE a.hid=h.hid AND h.hid=" + producer_id;
sourceFile = "/export/pub/jakarta-tomcat-4.0.3/webapps/adia/servlets/producer.html";
replaceString = "@producer_info@";
}
// Informationen über den Katalog
else {
// Parameter "p_catalog_id" der Produktseite abfragen
catalog_id = request.getParameter("p_catalog_id");
if (catalog_id == null) {
catalog_id = "-1";
}
else {
if (catalog_id.equals("")) catalog_id = "-1";
}
String[] param1_2 = {"KATALOG_ID","NAME","ANBIETER","VERSION","ERSTELLUNGSDATUM","IMPLEMENTIERUNGSDATUM"};
param1 = param1_2;
query = "SELECT * FROM katalog WHERE cid=" + catalog_id;
sourceFile = "/export/pub/jakarta-tomcat-4.0.3/webapps/adia/servlets/catalog.html";
replaceString = "@catalog_info@";
}
String[] param2 = {"","","",""};
// Daten ermitteln
try {
Vector Info = dbcon.OraDBgetResult(query, param1, 0);
// Formatierung durchführen
result = pageGen.formatTable(Info, param1.length, param2);
}
catch (SQLException e) {
noError = false;
error = e.toString(); // Fehlercode
}
}
else {
noError = false;
error = "Informationstyp nicht definiert!";
}
// Erzeugung und Ausgabe der HTML-Seite
try {
if (noError) {
page = pageGen.readPage(sourceFile);
page = pageGen.replaceParam(page,result,replaceString);
}
// Fehlerausgabe
else {
page = pageGen.readPage("/export/pub/jakarta-tomcat-4.0.3/webapps/adia/servlets/error.html");
page = pageGen.replaceParam(page,error,"@error@");
}
}
catch (Exception e) {
page = e.toString();
}
out.println(page);
}
/************************************************************************************
* Verarbeitungsabschnitt des Servlets für Request mittels HTTP-POST-Operation *
* *
************************************************************************************/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
doGet(request, response);
}
}