Wie die Umleitung im web.xml

Arbeite ich an einem GAE/J app und ich habe die folgende Struktur:

- war
    |
    - mobile
    |      |
    |      - assets
    |      |      |
    |      |      + a.jpg
    |      |      + b.gif
    |      |      + c.js
    |      + a.jsp
    |      + b.jsp
    |      + index.jsp
    |      + d.css
    |      + e.css
    |
    + landing.jsp

Nun in web.xml ich habe ein URL-mapping von /mobile Hinweis auf <jsp-file>/mobile/index.jsp<jsp-file>. In meinem index.jsp ich benutzt relative Adressierung verweisen alle erforderlichen Ressourcen, wie JS-Dateien, CSS-Dateien und Bilder; und dies funktioniert auch, wenn ich geben our_domain/mobile/index.jsp im browser. Aber wenn ich our_domain/mobile dient es die richtige Datei (index.jsp), aber jede relative Adresse, die Pausen, das heißt, kein CSS, kein JS, kein Bild.
Aus meiner Untersuchung, es scheint, dass web.xml eigentlich nicht umleiten, sondern ruft eine angegebene JSP/Servlet, um Antwort auf eine bestimmte URL-Muster. Dies funktioniert nicht gut mit der relativen Adressierung von as-Pfad-Informationen, dass es richtig wäre, mit einem echten redirect Links an der Wurzel. Wie kann ich sicherstellen, dass die relativen Adressen arbeiten, wie erwartet, in dieser Art von Szenario?

[Bearbeiten]
Ich habe versucht, sevral-Konfigurationen. Jetzt /mobile URL funktioniert und alle meine CSS geladen wird, aber /mobile/ laden nicht meine CSS. Hier meine Zuordnung:

<servlet> <description>Landing page on mobile site</description> 
 <display-name>MobileIndex</display-name>
 <servlet-name>MobileIndex</servlet-name>
 <jsp-file>/mobile/index.jsp</jsp-file> 
</servlet>

<servlet-mapping>
 <servlet-name>MobileIndex</servlet-name>
 <url-pattern>/mobile/</url-pattern>
</servlet-mapping> 

<servlet-mapping>
 <servlet-name>MobileIndex</servlet-name>
 <url-pattern>/mobile</url-pattern>
</servlet-mapping>
  • Was ist Ihre Zuordnung Aussehen?
  • <servlet-mapping> <servlet-name>MobileIndex</servlet-name> <url-pattern>/mobile</url-pattern> </servlet-mapping> Wo MobileIndex ist auch erklärt, in web.xml als servlet-name wies auf die /mobile/index.jsp - Datei. Wenn dis nicht funktioniert, habe ich ja wies MobileIndex an eine andere JSP, deren einziger Zweck es war, eine response.sendRedirect("/mobile/index.jsp"); aber dat hat nicht funktioniert entweder. Ich änderte dann die d umleiten JSP 2 einer standard-servlet-s erreichen d gleichen Zweck, aber es auch nicht funktioniert wie erwartet. Sie alle weitergeleitet, aber mein CSS & JS-Dateien stil couldnt b befindet.
  • Warum nutzen Sie die web.xml zum anzeigen einer jsp auf einen Weg, wo ist es? Brauchen Sie wirklich ein servlet? Keiner Weise das ist nur ein Missverständnis, nicht dein problem. Wie machen Sie auf Ihre Ressourcen Dateien (zB. CSS/JS/Img)?
  • relative Adressierung, e.g <link href="d.css" /> Der Grund, warum ich gemappt, dass es der Weg ist, dass ich möchte, dass meine Benutzer in der Lage, nur geben Sie my_domain/mobile im browser statt my_domain/mobile/index.jsp
  • Was ist, wenn Sie dies href="./d....css"?
  • Gleichen Ergebnis. Frage aktualisiert.
  • Überprüfen Sie heraus meine Antwort, die zeigt, wie das problem zu lösen, die Referenz CSS/JavaScripts usw. in JSP-Dateien: stackoverflow.com/a/14063039/814702
  • wurde der vorgeschlagenen Lösung durch die wirksam für Sie ist. Wenn ja, welche konkreten änderungen haben Sie getroffen, um Ihre mappings oben gezeigt?
  • Ist dieses Problem immer noch Auftritt?
  • Ich habe gerade überprüft und das Problem ist nicht mehr vorhanden. Ich kann mich nicht erinnern, was ich getan habe, um es zu arbeiten, da habe ich nicht mehr die Aufrechterhaltung der das Projekt für eine lange Zeit. Ist dies ein Problem, das Sie erleben, die ich untersuchen kann.
  • Keine Sorge, ich war nur Fragen, ob Sie noch Hilfe brauchten! Freut mich zu hören. Ich denke, diese Frage wird ohne Antwort. Ich bin mir nicht wirklich sicher, was der Stack-Overflow-Richtlinien sind für eine situation wie diese...
  • vielen Dank. Ich habe alles, was interessant in die repo. Ich bemerkte, dass ich später nahm /mobile ganz. Ich bin unglaublich dankbar für all die Unterstützung, die ich erhielt auf diesen thread. Freundlicherweise mir verzeihen, es ist schon über 3 Jahre. Ich war jonglierbälle in dieser Zeit und so war nicht sehr organisiert, dann werden wir das Projekt eingestellt.

InformationsquelleAutor Sayo Oladeji | 2013-04-16
Schreibe einen Kommentar