2009-03-13 8 views
1

Ich habe schon mit JBoss und WebLogic gearbeitet, aber bei meinem derzeitigen Job verwenden wir OC4J, was für mich ein Novum ist. I denke,, dass mein Problem damit verbunden sein könnte. Ich erstelle eine EAR-Datei, in der sich eine WAR-Datei befindet. Die JSPs auf oberster Ebene scheinen korrekt angezeigt zu werden, aber wenn ich versuche, eine JSP in einem Unterverzeichnis wie secure/index.do oder secure/header.jsp anzuzeigen, fragt mich der Browser, ob ich die Datei speichern möchte. Wenn ich es speichere, ist es eine 0 Byte große Datei. Eigentlich habe ich gerade auch secure/index.xyz ausprobiert, von dem ich weiß, dass es nicht existiert, und es hat das Gleiche gemacht. I wissen diese anderen Dateien/Servlets existieren. Irgendwelche Hinweise darauf, was das verursachen könnte?Browser bittet darum, JSPs zu speichern

+0

UPDATE: Es scheint, dass es etwas mit dem spezifischen Verzeichnisnamen von "sicher" zu tun hat. Ich hatte Sicherheit eingerichtet, aber dann hatte ich es herausgerissen. Aus irgendeinem Grund habe ich den Verzeichnisnamen in 'secured' geändert und neu implementiert, und jetzt funktioniert es. Möglicherweise muss die App vollständig gelöscht/erneut bereitgestellt werden. –

Antwort

0

Es gefunden. Sie waren im Wesentlichen korrekt in Bezug auf das Problem mit dem Inhaltstyp, aber es gab einen zugrunde liegenden Fehler in meinem Code, der das verursachte. Ich hatte einen Filter namens SecureActionFilter erstellt, der aufgerufen wurde, wenn eine/secure/* URL vorhanden war. Das Problem ist, dass ich die Kette gebrochen habe. Ich habe vergessen, "chain.doFilter (req, res)" am Ende meiner "doFilter" -Methode hinzuzufügen. Aus diesem Grund wurde die Anfrage nie an die JSPs weitergeleitet und daher wurde nichts an den Browser zurückgegeben, einschließlich eines MIME-Typs, und der Browser versuchte dann, den Inhalt der Länge 0 in meinem Dateisystem zu speichern.

1

Ich glaube, dass der Browser Sie auffordert, eine Datei für Inhaltstypen zu speichern, die er nicht erkennt. In diesem Fall enthält die Serverantwort wahrscheinlich einen verstümmelten oder inkorrekten Inhaltstyp.

Aus dem Rest Ihrer Beschreibung des Problems klingt es wie ein allgemeines Serverkonfigurationsproblem. Eine Sache, die Sie tun, ist zu überprüfen, ob Beispielprojekte (oder EARs) mit dem Server zur Verfügung gestellt werden und sehen, ob Sie das gleiche Problem reproduzieren können. Wenn Sie das gleiche Verhalten sehen, zeigt dies auf die Konfiguration, wenn nicht, das es Ihre Bereitstellung wahrscheinlich nicht mag.

1

Ich stimme Dana the Sane zu. Wahrscheinlich gibt Ihr Webserver oder JBoss den falschen Inhaltstyp für Antworten zurück. Wenn Sie Wireshark haben, dann führen Sie wireshark auf Ihrem Client aus und sehen Sie sich dann die HTTP-Header der Antwort an. Ich erwarte, dass der Header des Inhaltstyps etwas ist, mit dem Ihr Browser nicht umgehen kann.

0

Wenn Sie mit Firefox LiveHTTPHeaders verwenden, sehen Sie, was der Server zum Browser zurückkehrt, wenn Sie die URLs besuchen, die Ihnen Probleme bereiten. Wenn es sich um einen seltsamen Inhaltstyp handelt oder ein Content-Dispositions-Header vorhanden ist, ist das das Problem.

0

Eddie hat recht!

Andernfalls kann es zu einem Rendering-Fehler kommen, wenn die Auslastung des Servers zu hoch ist.

Verwandte Themen