Question

Dans une application Web Java simple, par exemple, imaginez que vous avez un servlet TestServlet.java. Dans le déploiement description (web.xml), vous pouvez par exemple cartographier la demande à venir dire /testpage à TestServlet pour que quand /testapplication/testpage est demandé TestServlet gère la demande. Et vous pouvez par exemple écrire "Hello World" et envoyer la réponse.

Dans la structure du répertoire (l'application qui est déployée sur le serveur Web), TestServlet.java résidera dans:

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

Ce qui signifie qu'il n'y a aucun moyen d'accéder à ce fichier en utilisant le navigateur. (Comme entrer une URL)

Vous pouvez également obtenir le répartiteur de demande et transférer l'objet de demande et de réponse à un fichier jsp comme .getRequestDispatcher("/test.jsp"). Mais alors le fichier sera dans

webapps\testapplication\test.jsp

Ainsi, la connexion à http: server.com test.jsp obtiendra également ce fichier.

Je souhaite masquer le fichier dans le dossier Web-Inf afin qu'il ne puisse pas être atteint par le client, sauf le mappage que j'ai fourni.

Quelle est la façon appropriée de faire cela?

Était-ce utile?

La solution

Je souhaite masquer le fichier dans le dossier Web-INF afin qu'il ne puisse pas être atteint par le client.

Gardez vos fichiers JSP sous WEB-INF par exemple - (WEB-INF/jsp), de sorte que par défaut, les conteneurs Web n'autorisent pas les ressources dans le dossier Web-inf. RequestDispatcher peut y accéder.

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

Autres conseils

Si vous utilisez JSF, vous pouvez mettre ce fichier dans un dossier Web-INF et utiliser une règle de navigation pour cartographier la demande à la page. Mais si vous ne l'êtes pas, vous pouvez créer un filtre et le mapper sur URL "/test.jsp" en utilisant le <url-pattern> Attribut et rediriger vers n'importe où vous le souhaitez (comme une page dans le Web-Inf).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top