HTML Code im Output unvollständig

Status
Nicht offen für weitere Antworten.

MichiM

Bekanntes Mitglied
Hallo,


eine kleine JSP, die sich selbst per Form action aufruft, gibt HTML aus. :wink:

So lang die JSP ohne Form action aufgerufen wird, gibt sie den HTML-Code komplett aus.
Sobald sie jedoch über das Form aufgerufen wird, wird der HTML-Code abgeschnitten und zwar wird der nicht an einer ganz bestimmten (durch eine Codestelle identifizierbare) Stelle, sondern scheinbar nach einer best. Output-Länge, was sich einfach dadurch feststellen lässt, dass man davor mal einige Zeilen Text anbaut und schon wird der Output an einer anderen Stellen abgeschnitten.

(Hab mir den kompilierten JSP-Code angeschaut: Generiert wird auf jeden Fall alles, nur ausgegeben später nicht.)

Ich verwende hierbei den Tomcat 5.5 und Firefox 2 (habe aber auch den Opera probiert, gleiches Problem).


So einen Fehler hatte ich auch noch nicht. Ist da irgendeine Server-Kofiguration verantwortlich? Maximale Outputlänge bei Requests oder so was?
(Allerdings wäre die dann schon sehr geizig vorkonfiguriert.)

Muss da mal URLDecoder probieren...

Gruß Michi
 

gex

Bekanntes Mitglied
hey,

also nach der migration auf websphere 6.1 hatten wir auch so ein problem, da es aber eine struts applikation ist, haben wir immer post daten...

das problem klingt nach irgendeinem buffer problem, hast du irgendwelche filter definiert? bei uns war es ein compressionfilter. nachdem wir den rausgenommen hatten war alles i.o. - nur muss ich dann noch schauen, was geändert hat, damit wir die komprimierung wieder reinkriegen.

gruss
gex
 

MichiM

Bekanntes Mitglied
Keine reproduzierbare Fehlerursache feststellbar. Wirkt irgendwie labil, was ich aber jetzt schon öfter bei Java-Projekten erlebt habt.


Abgeschickt werden die Daten jedenfalls über dieses Formular:

Code:
<form action="bearbeiten.jsp" method="get" accept-charset="UTF-8" style="padding:0px;margin:0px;">

Eingelesen so:

Code:
zeit                = java.net.URLDecoder.decode ( request.getParameter ( "zeit" ), "UTF-8" );


Angezeigt so:

Code:
                                                <tr>

                                                    <td class="darstellungszelle" bgcolor="<%= hintergrundfarbe %>">

                                                        Zeit

                                                    </td>

                                                    <td class="darstellungszelle" bgcolor="<%= hintergrundfarbe %>">

                                                        <input type="text" name="zeit" value="<%= zeit %>" size="40" maxlength="128">

                                                    </td>

                                                </tr>


Sollte man da noch irgendwie rummaskieren...?



Filter hab ich keine installiert. Es läuft der Tomcat 5.5 in der NetBeans-Umgebung.




(In PHP macht man so was in einer halben Stunde und dann läufts, da hockt man tagelang dran und es geht noch nicht. :bahnhof: )


Der kann doch nicht einfach den Code abschneiden da, Frechheit. :lol:
 

gex

Bekanntes Mitglied
also soweit ich dein problem nachvollziehen kann, sollte das nicht direkt ein jsp problem sein, sonst würde dir ja irgendwo ein error geworfen (prüf zur sicherheit aber trotzdem mal die logs)

ich würde auch anstellle von method="get" method="post" verwenden, dann bräuchtest du auch nicht über den URLDecoder zu gehen, und im falle von formularen ist eh post zu empfehlen

nebenbei könntest du anstelle von scriptlets hier auch ganz gut auf die JSTL zurückgreifen, was dann das ganze
auch schöner macht.

(In PHP macht man so was in einer halben Stunde und dann läufts, da hockt man tagelang dran und es geht noch nicht.)
arbeite sonst auch noch mit php, aber ist doch immer eine frage der erfahrung mit einer sprache, wie schnell man damit arbeiten kann. an solchen kleinen problemen geht ja meistens die zeit verloren...
 

MichiM

Bekanntes Mitglied
Das Abschneiden des Codes findet dann statt, wenn ein Datenbankschreibzugriff stattfindet...

Wenn ich die Zeile mit executeUpdate rauskommentiere, wird zwar natürlich nicht gespeichert, aber der HTML-Output auch nicht gekürzt.

Ich weiß nur leider auch nach genauerem Hingucken und x-fachem Umwandeln des Query-Strings nicht, was daran jetzt geeignet sein könnte, den HTML-Output zu kürzen...? :


Code:
    public void bearbeiteten_datensatz_speichern ( String id, String vorname, String name, String geschlecht, String datum, String zeit, String ort, String laenderkennung )
    {

            String sSql = "";
            
            try
            {
        /*
                    sSql = "UPDATE dav SET vorname='" + vorname + "', " +
                                           "name='" + name + "', " +
                                           "geschlecht='" + geschlecht + "', " +
                                           "datum='" + datum + "', " +
                                           "uhrzeit='" + zeit + "', " +
                                           "ort='" + ort + "', " +
                                           "laenderkennung='" + laenderkennung + "' " +
                                           "WHERE ID='" + id + "'";*/

                             sSql = "UPDATE dav SET vorname='2' WHERE ID=15";

                    

                    this.fehlercode             = this.anweisung.executeUpdate ( sSql );


            }
            catch ( Exception ex )
            {
                
                
                // "Fehler beim Schreiben des Datensatzes:\n\nSQL-Anweisung: " + sSql + "\n\nFehlermeldung: " + ex.getMessage();

            }  
                    
    }

Es sind also noch nicht mal variable Strings in der Test-Query und dennoch wird der HTML-Output wie beschrieben abgeschnitten, sobald diese Methode in der JSP aufgerufen wird. Lesen aus der Datenbank dagegen funktioniert einwandfrei.

Hat irgendjemand eine Idee, wie es sein kann, dass so eine Query den Output abschneidet? ???:L

(Datenbanktreiber hab ich sicherheitshalber auch nochmal frisch runtergeladen, passt auf die installierte MySQL-Version.)




So was überfordert mich dann schon...
 

gex

Bekanntes Mitglied
lass dir sonst mal den querystring ausgeben, und fange die exception nicht so trostlos ab, sondern gib die exception mal aus, zumindest solange du an diesem problem sitzt.
 

MichiM

Bekanntes Mitglied
Alles natürlich probiert, es wird beim Schreibzugriff keine Exception geschmissen, grad nochmal probiert. "Dennoch" besteht ein Zusammenhang zwischen Schreibzugriff und abgetrenntem HTML-Code. Mystisch...

Gibts irgendeine Eigenschaft bei den Metadaten, die hier eine Rolle spielen könnte? (Wird vielleicht zu viel Speicher für
den Datenbankzugriff reserviert, dass der Tomcat nachher Platzprobleme bekommt...?)

Was bedeutet allerdings das, zu finden im Log-File?

SCHWERWIEGEND: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at com.mysql.jdbc.ResultSet.buildIndexMapping(ResultSet.java:607)
at com.mysql.jdbc.ResultSet.findColumn(ResultSet.java:963)
at com.mysql.jdbc.ResultSet.getString(ResultSet.java:5584)
at org.apache.jsp.bearbeiten_jsp._jspService(bearbeiten_jsp.java:512)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
 
Hallo,
Welche Codierung hat Deine MySQL ? Die muss man bei Installation auswählen. Das Problem liegt , glaub ich, an der Codierung. Probiere : request.setCharacterEncoding() ...
 

MichiM

Bekanntes Mitglied
Die Tabelle ist mit latin1_german1_ci kodiert.

Habe testhalber mal

Code:
request.setCharacterEncoding ( "ISO-8859-1" );

eingefügt, keine weitere Reaktion.

Nachdem ich es wieder rausgenommen hab, erscheint auf einmal zur Abwechslung folgende Exception im Log-File: :roll:

Code:
2008 19:08:55 org.apache.catalina.loader.WebappClassLoader loadClass
INFO: Illegal access: this web application instance has been stopped already.  Could not load java.net.BindException.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1238)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1198)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
	at com.mysql.jdbc.CommunicationsException.<init>(CommunicationsException.java:161)
	at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2759)
	at com.mysql.jdbc.MysqlIO.quit(MysqlIO.java:1410)
	at com.mysql.jdbc.Connection.realClose(Connection.java:4947)
	at com.mysql.jdbc.Connection.cleanup(Connection.java:2063)
	at com.mysql.jdbc.Connection.finalize(Connection.java:3403)
	at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
	at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
	at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)

Anwendung schon vor dem Schließen der Datenbank beendet, was will er mir damit sagen...?

Ist der Tomcat nicht so gut geeignet für Datenbankanwendungen oder was soll das jetzt alles auf einmal...? :lol:

Bisher gabs eigentlich keinen nennenswerten Probleme, aber als die Datenbank ins Spiel kam, wurde es mysteriös. :wink:

(Den MySQL-Treiber hab ich von hier: http://www.mysql.com/products/connector/j/ )
 

ms

Top Contributor
Ich hatte auch mal so ein Problem aufgrund von mangelndem Festplattenplatz.
Es konnte kein Logfile geschrieben werden.

ms
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
clemente API zurm Generieren von HTML Code Allgemeines EE 6
V JSP + Funktionen die HTML Code enthalten Allgemeines EE 4
G HTML Code an JSP übergeben Allgemeines EE 7
R HTML CODE EINER SITE AUSLESEN Allgemeines EE 2
D HTML-Code von JSP wird in Browser nicht angezeigt?! Allgemeines EE 3
J JSF JSF in statisches HTML einbinden Allgemeines EE 1
R HTML Formular Allgemeines EE 3
P Daten von HTML and JSP schicken Allgemeines EE 0
T Fertiges html javascrip css template in java EE application Allgemeines EE 0
Chris81T JavaEE Backend < > HTML Frontend ( Frameworks ) Allgemeines EE 10
3 HTML Positionen herausfinden Allgemeines EE 3
G Aktualisieren -> HTML- Page Allgemeines EE 5
neurox HTML decoder Allgemeines EE 2
Lex Property per html:link schreiben in struts Allgemeines EE 2
G JSF <h:outputText> mit HTML ? Allgemeines EE 3
T Methodenaufruf (der HTML erzeugt) innerhalb von JSP Allgemeines EE 5
J Encoder für Java String in html format Allgemeines EE 6
R [JSF] HTML aus JavaBean generieren Allgemeines EE 8
I <%@ taglib uri="[url]http://java.sun.com/jsf/html"[/url] p Allgemeines EE 6
S JSF - Ressourcenbundle-Text als HTML ausgeben Allgemeines EE 1
N Nutzer kann Html-Komponente selbst bestimmen Allgemeines EE 3
M HTML Sonderzeichen und JSF Allgemeines EE 2
R Bilder in HTML Tabelle ermitteln Allgemeines EE 2
Z HTML-Formulare (Feldinhalt) mit JSP abfragen/verarbeiten Allgemeines EE 7
M datei liste (jsp,html) von einem Server Allgemeines EE 4
N Struts - Problem mit <html:link> Action Allgemeines EE 3
W HTML deaktivieren Allgemeines EE 3
T HTML-FormularDaten in JavaBean Allgemeines EE 4
C Problem mit html:optionsCollection Allgemeines EE 4
F JSP und HTML Allgemeines EE 33
K Struts html:messages tag Allgemeines EE 2
A HTML Tags filtern Allgemeines EE 4
S String escpapen für JavaScript, Datenbank, HTML Allgemeines EE 2
T JSF, Tiles und normales HTML in <f:verbatim> Tags? Allgemeines EE 2
M HTML-Klassen Allgemeines EE 2
clemson HTML Taglib - mehrere Submit-Buttons & Internationalisie Allgemeines EE 4
R html-form mit bean:write Allgemeines EE 10
R HTML parsen mit Servlet Allgemeines EE 2
M Fehler aufruf von Index.html Allgemeines EE 7
clemson [Struts] HTML-Checkbox Tag ID Allgemeines EE 2
G "HTML-Umlaute" in lesbaren String umwandeln Allgemeines EE 10
R Konvertierung Internetexplorer Java (CP1252 -> HTML Entit Allgemeines EE 12
G <html:radio Allgemeines EE 17
A struts: html:form-tag das Attribut "name" ersetzen Allgemeines EE 7
V <html:radio property="auswahl" value="E1&q Allgemeines EE 2
G Struts <html:img /> ? Allgemeines EE 6
A mit JavaMail eine html mail versenden? Allgemeines EE 4
A Leerzeilen in HTML-Seite, nach Erzeugen des Servlets Allgemeines EE 3
B jsp include von html-datei mit javascript abfrage Allgemeines EE 8
mor16Euro Servlet Fehler code: The requested resource is not available Allgemeines EE 7
A Unsauberer Code.. (Properties-Objekt in JSP anzeigen) Allgemeines EE 5
Antoras Status code explizit von der Webapp aus senden Allgemeines EE 2
G PHP- Code hosten Allgemeines EE 2
G ||| Code completion FacesIde. Allgemeines EE 2
K TagLib mit Java-Code mischen Allgemeines EE 5
H Servlet - Importieren von Code Allgemeines EE 2
M jsp source code formatter gesucht Allgemeines EE 3
T Problem dem Zaehler in mein Java - Code Allgemeines EE 2
F Wohin mit dem Code . EJB oder JSP? Allgemeines EE 5
M Code Design Trennung - Platzhalter und Schleifen Allgemeines EE 2
S Code / Layout - Trennung Allgemeines EE 8
J server ignoriert jsp code Allgemeines EE 4
G JSP Output Writer Allgemeines EE 3
T Struts, direct browser output Allgemeines EE 2

Ähnliche Java Themen

Neue Themen


Oben