Servlet Problem!!!
Thomas
- sonstiges
Hallo! Habe eine HTML Seite mit einem Array den man sortieren kann! Das funktioniert auch! Jetzt wollte ich daraus ein Servlet machen und dann funktioniert das sortieren nicht mehr! Kann mir bitte jemand weiterhelfen! Habe zwei Dateien, einmal das Servlet und einmal eine HTML datei! Habe sie unten mal hinzugefügt! Wenn es was bringt kann ich auch noch die HTML datei senden!
Gruss Thomas
package test;
import javax.servlet.; import javax.servlet.http.; import java.io.; import java.util.;
public class NomosServlet extends HttpServlet { private static final String CONTENT_TYPE = "text/html"; /*Globale Variablen initialisieren/ HTMLSeite Seite;
public void init() throws ServletException {
Seite = new HTMLSeite();
} /*Die HTTP-Anforderung Get bearbeiten/ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter();
Seite.sortieren(); out.println(Seite.sortieren);
}//end doGet
/*Die HTTP-Anforderung Post bearbeiten/ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
package test;
import java.util.*;
public class HTMLSeite {
String sortieren="";
public HTMLSeite() {
}//end constructor HTMLSeite
public void sortieren(){
sortieren="<!doctype html public '-//W3C//DTD HTML 4.01 Transitional//EN'>\n"+ "<html>\n"+ "<head>\n"+ "<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>\n"+ "<meta NAME='author' content='Dr. J. Berkemeier'>\n"+ "<title>TableSort</title>\n"+ "<link rel='stylesheet' href='jb.css' type='text/css'>\n"+ "<script src='TableSort.js' type='text/javascript'></script>\n"+ "<script language='JavaScript' type='text/javascript'>\n"+ "<!--\n"+ "var kannDOM;\n"+
"function start() {\n"+ "kannDOM=document.getElementsByTagName('body')[0].replaceChild;\n"+ "if (kannDOM) {\n"+ "document.getElementById('Hinweis').firstChild.nodeValue='Ein Klick auf die Spaltenüberschrift sortiert die Liste';\n"+ "for(var i=0;i<5;i++) Text2Link('Kopf'+i,'javascript:sort('+i+','Liste')') ;\n"+ "}\n"+ "}\n"+ "//-->\n"+ "</script>\n"+ "</head>\n"+
"<body text='#000000' link='#0000AA' alink='#0000AA' vlink='#000077' onload='start();'>\n"+ "<p>Beispiel, wie man mit Javascript eine Tabelle sortieren kann. Benötigt Javascript und einen neueren Browser. Getestet mit IE 5.5, IE 6.0, Mozilla 1.1, Mozilla 1.3 und Opera 7</p>\n"+
"<font size='-1'><span id='Hinweis'> </span></font>\n"+ "<table border=2 cellspacing=2 cellpadding=5 id='Liste'>\n"+ "<tr>\n"+ "<th valign='top' id='Kopf0'>Name</th>\n"+ "<th valign='top' id='Kopf1'>Raum</th>\n"+ "<th valign='top' id='Kopf2'>Bereich</th>\n"+ "<th valign='top' id='Kopf3'>Telefon</th>\n"+ "<th valign='top' id='Kopf4'>e-mail</th>\n"+ "</tr>\n"+ "<tr>\n"+ "<td valign='top'>Anton</td>\n"+ "<td valign='top' align='center'>3</td>\n"+ "<td valign='top' align='center'>A</td>\n"+ "<td valign='top' align='center'>11</td>\n"+ "<td valign='top'>Anton@mm.tv</td>\n"+ "</tr>\n"+ "<tr>\n"+ "<td valign='top'>Berti</td>\n"+ "<td valign='top' align='center'>4</td>\n"+ "<td valign='top' align='center'>B</td>\n"+ "<td valign='top' align='center'>13</td>\n"+ "<td valign='top'>Berti@mm.tv</td>\n"+ "</tr>\n"+ "<tr>\n"+ "<td valign='top'>Conny</td>\n"+ "<td valign='top' align='center'>2</td>\n"+ "<td valign='top' align='center'>C</td>\n"+ "<td valign='top' align='center'>14</td>\n"+ "<td valign='top'>Conny@mm.tv</td>\n"+ "</tr>\n"+ "<tr>\n"+ "<td valign='top'>Det</td>\n"+ "<td valign='top' align='center'>6</td>\n"+ "<td valign='top' align='center'>A</td>\n"+ "<td valign='top' align='center'>12</td>\n"+ "<td valign='top'>Det@mm.tv</td>\n"+ "</tr>\n"+ "<tr>\n"+ "<td valign='top'>Edi</td>\n"+ "<td valign='top' align='center'>1</td>\n"+ "<td valign='top' align='center'>B</td>\n"+ "<td valign='top' align='center'>16</td>\n"+ "<td valign='top'>Edi@mm.tv</td>\n"+ "</tr>\n"+ "<tr>\n"+ "<td valign='top'>Fritzchen</td>\n"+ "<td valign='top' align='center'>5</td>\n"+ "<td valign='top' align='center'>C</td>\n"+ "<td valign='top' align='center'>15</td>\n"+ "<td valign='top'>Fritzchen@mm.tv</td>\n"+ "</tr>\n"+ "</table>\n"+ "<hr>\n"+ "<img src='http://home.vr-web.de/cgi-sys/Count.cgi?df=TableSort.ct&display=image&image=pixel.gif' width=1 height=1>\n"+
"</body>\n"+ "</html>\n";
}//end sortieren
}//end class HTMLSeite
hallo Thomas,
Habe eine HTML Seite
Nett, ja ... ich bin überzeugt, daß ein paar Forumsteilnehmer auch eine HTML-Seite haben ;-)
Aber die meisten haben gar nicht so viele Ausrufezeichen auf ihren Tastaturen, wie es bei dir offenbar gibt.
mit einem Array den man sortieren kann!
Das funktioniert auch!
Oh. Das kann eigentlich nur an deinen Ausrufezeichen liegen. In _HTML_ gibt es keine Arrays, folglich können sie auch gar nicht funktionieren. Du hast also wahrscheinlich irgendeinen "HTML-Zusatz" wie zum Beispiel Javascript verwendet, in dem dann dein Array wahrscheinlich funktioniert.
Jetzt wollte ich daraus ein Servlet machen und dann funktioniert das sortieren nicht mehr!
Kann auch nicht, weil du schon wieder ein Ausrufezeichen hintendranhängst.
Aber im Enst: wie machst du aus einer HTML-Seite ein Servlet? Wo setzt du das dann bitteschön ein? Bei dem Beispiel, das du unten angibst, hast du andersherum einen (problematischen) JAVA-Code, der eine HTML-Seite erzeugen soll.
Kann mir bitte jemand weiterhelfen!
Nein. Jedenfalls solange nicht, bis du das Ausrufezeichen in ein Fragezeichen verwandelt hast.
Habe zwei Dateien, einmal das Servlet und einmal eine HTML datei!
Hast du nicht. Du hast ein Ausrufezeichen und einen JAVA-Code, den du gerne als Servlet einsetzen möchtest, damit er dir ein HTML-Dokument erzeugt.
Habe sie unten mal hinzugefügt!
Wenn es was bringt kann ich auch noch die HTML datei senden!
Da das Ganze möglicherweise umfangreicher ist als das, was du bereits gepostet hast, wärs besser, das irgendwo als temporäre Datei hochzuladen und dann bloß den link dazu hier anzugeben. Und natürlich hast du wieder in bewundernswerter Konsequenz zwei Ausrufezeichen hingeschrieben, die hier nicht hingehören.
Das hier soll also dein Servlet sein?
package test;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
[snip]
public void destroy() {
}
}
Ok, das könnte unter Umständen funktionieren.
Jetzt hast du aber noch viel, viel mehr JAVA-Krimskrams. Was ist das jetzt alles? Es soll dir wahrscheinlich ein HTML-Dokument erzeugen, aber warum?
public class HTMLSeite {
String sortieren="";
public HTMLSeite() {
public void sortieren(){
Warum diese umständliche Verschachtelung? Es sieht nach dem, was du gepostet hast, so aus, als ob dir genau diese "Verschachtelung" das Genick bricht, weil
sortieren="<!doctype html public '-//W3C//DTD HTML 4.01 Transitional//EN'>\n"+
nur einen begrenzen Gültigkeitsbereich hat. Da kann ich mich aber auch irren. Dummerweise steckt deine eigentliche Sortierfunktion laut
"<script src='TableSort.js' type='text/javascript'></script>\n"
offenbar in einer externen Javascript-Datei. Ob die nun korrekt ist, läßt sich nicht sagen. Und die gesamte riesige "sortieren"-Variable wird nach dem, was du bisher gepostet hast, nirgends irgendwie eingesetzt - also hättest du sie auch nicht tippen brauchen. Wozu die ganze Mühe mit einer Variablen, die man nicht irgendwo verarbeitet?
Grüße aus Berlin
Christoph S.
Hallo,
das ganze hat mit Servlets nicht`s zu tun.
Ich meine Deine Problem.
Du musst diese Javascript Datei ebenfalls auf dem Appserver oder Webserver zur Vertügung stellen.
Gruss Matze