Frage

Stellen Sie sich beispielsweise in einer einfachen Java -Webanwendung vor, Sie haben einen Servlet testServlet.java. In der Bereitstellungsbeschreibung (web.xml) können Sie beispielsweise die angegebene Anfrage abbilden /testpage zum testen servlet so wenn wenn /testapplication/testpage wird angefordert testServlet behandelt die Anfrage. Und Sie können zum Beispiel "Hallo Welt" schreiben und die Antwort senden.

In der Verzeichnisstruktur (die Anwendung, die auf dem Webserver bereitgestellt wird) wird testServlet.java in:

webapps\testapplication\WEB-INF\classes\com\packagename\TestClass.java

Dies bedeutet, dass es keine Möglichkeit gibt, mit dem Browser zu dieser Datei zu gelangen. (Wie ein Eintritt in eine URL)

Sie können den Anforderungsdispatcher auch übertragen und das Anforderungs- und Antwortobjekt an eine JSP -Datei leiten .getRequestDispatcher("/test.jsp"). Aber dann wird die Datei in sein

webapps\testapplication\test.jsp

Wenn Sie also eine Verbindung zu http: server.com test.jsp erhalten, erhalten Sie diese Datei auch.

Ich möchte die Datei im Web-Inf-Ordner ausblenden, damit sie vom Client nur die von mir bereitgestellte Zuordnung erreicht werden kann.

Was ist der geeignete Weg, dies zu tun?

War es hilfreich?

Lösung

Ich möchte die Datei im Web-Inf-Ordner ausblenden, damit sie vom Client nicht erreicht werden kann.

Halten Sie Ihre JSP -Dateien unter WEB-INF zum Beispiel - (WEB-INF/jsp), damit standardmäßig Web-Container nicht ermöglichen, Ressourcen unter dem Web-Inf-Ordner direkt von Clients, sondern von den Clients zu ermöglichen, sondern die RequestDispatcher kann darauf zugreifen.

request.getRequestDispatcher("/WEB-INF/test.jsp").forward(request, response);

Andere Tipps

Wenn Sie JSF verwenden, können Sie diese Datei in Web-Inf-Ordner einfügen und eine Navigationsregel verwenden, um die Anforderung auf die Seite zuzuordnen. Wenn Sie dies jedoch nicht sind, können Sie einen Filter erstellen und es mit der URL "/test.jsp" zuordnen <url-pattern> Attribut und Umleitung von überall, wo Sie möchten (wie eine Seite in Web-inf).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top