Qu'est-ce que le fichier web.xml et ce sont toutes les choses que je peux faire avec elle?
-
22-09-2019 - |
Question
- Yat-il un paramètre de configuration qui devrait être évité comme la peste?
- Tous les paramètres liés à l'utilisation de la performance ou de la mémoire?
- risque lié à la sécurité en raison d'une mauvaise configuration commune?
Que dois-je savoir sur web.xml en dehors des noms d'éléments et de leur utilisation?
La solution
Qu'est-ce que le fichier web.xml et ce que toutes les choses que je peux faire?
Le fichier /WEB-INF/web.xml
est le Web Application Descriptor déploiement de votre application. Ce fichier est un document XML qui définit tout ce qui concerne l'application qu'un serveur a besoin de savoir (sauf le chemin de contexte, qui est attribué par les Application Deployer et administrateur lorsque l'application est déployée): servlets et autres composants tels que des filtres ou des auditeurs, des paramètres d'initialisation, les contraintes de sécurité gérées par le conteneur, les ressources, les pages d'accueil, etc.
Notez que vous faites référence mentionné est assez vieux (Java EE 1.4), il y a eu noreferrer quelques changements en Java EE 5 et encore plus en Java EE 6 (ce qui rend le web.xml
"facultatif" et introduit fragments Web ).
Yat-il un paramètre de configuration qui devrait être évité comme la peste?
Non.
Tous les paramètres liés à l'utilisation de la performance ou de la mémoire?
Non, ces choses ne sont pas configurés au niveau de l'application, mais au niveau du conteneur.
risque lié à la sécurité en raison d'une mauvaise configuration commune?
Eh bien, si vous voulez utiliser des contraintes de sécurité gérées par le conteneur et ne parviennent pas à les configurer correctement, les ressources ne seront pas évidemment être correctement protégés. En dehors de cela, les plus grands risques de sécurité viennent du code déploierons OMI.
Autres conseils
Que dois-je tout savoir sur web.xml à part le nom de l'élément et leur utilisation?
Le plus important paramètre de configuration JSP de tous les temps est dans votre web.xml. Mesdames et Messieurs, je vous donne ... TRIM-directifs-espaces blancs
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<trim-directive-whitespaces>true</trim-directive-whitespaces>
</jsp-property-group>
</jsp-config>
Cela supprime tous les centaines ou des milliers de lignes d'espace blanc que vous obtenez dans votre code HTML généré si vous utilisez des bibliothèques de balises (les boucles sont particulièrement laids et inutiles).
L'autre grand est la page Web par défaut (la page que vous obtenez envoyé automatiquement lorsque vous ne saisissez pas une page Web dans l'URL):
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
- Non, il n'y a rien qui devrait être évité
- Les paramètres liés à la performance ne sont pas en
web.xml
ils sont dans les fichiers de configuration du conteneur de servlets (server.xml
sur tomcat) -
Non. Mais le servlet par défaut (cartographié dans un web.xml à un emplacement commun dans votre conteneur de servlets) devrait de préférence désactiver des listes de fichiers (afin que les utilisateurs ne voient pas le contenu de vos dossiers Web):
Annonces vrai
Je suis en train de comprendre exactement comment cela fonctionne aussi. Ce site pourrait être utile pour vous. Il a toutes les étiquettes possibles pour web.xml ainsi que des exemples et des descriptions de chaque balise.
Si vous utilisez Struts, nous désactivons l'accès direct aux fichiers JSP en utilisant cette balise dans web.xml
<security-constraint>
<web-resource-collection>
<web-resource-name>no_access</web-resource-name>
<url-pattern>*.jsp</url-pattern>
</web-resource-collection>
<auth-constraint/>
fichier descripteur de déploiement "web.xml": Grâce à l'utilisation correcte de la fichier descripteur de déploiement, web.xml, vous pouvez contrôler de nombreux aspects de la le comportement de l'application Web, de préchargement servlets, à restreindre l'accès des ressources pour contrôler les délais d'attente de la session.
web.xml : permet de contrôler de multiples facettes d'une application Web. En utilisant web.xml, vous pouvez attribuer des URL personnalisées pour appeler servlets, spécifiez l'initialisation paramètres pour l'ensemble de l'application ainsi que pour les servlets spécifiques, le contrôle session de délais d'attente, déclarent les filtres, déclarer les rôles de sécurité, de restreindre l'accès au Web les ressources en fonction des rôles de sécurité déclarés, et ainsi de suite.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<description></description>
<display-name>pdfServlet</display-name>
<servlet-name>pdfServlet</servlet-name>
<servlet-class>com.sapta.smartcam.servlet.pdfServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>pdfServlet</servlet-name>
<url-pattern>/pdfServlet</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd » version = "3.0">
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>