Pourquoi web.xml "context-param' ne peut pas avoir de caractère [les enfants]?
Je suis juste curieux de ce qui arrivera à ce web.xml
code où j'ai cette erreur cvc-complex-type.2.3: Element 'context-param' cannot have character [children], because the type's content type is element-only.
dans l'Eclipse (version juno) Markers
vue.
Voici le code:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID"
version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>Spring security web application (series)</display-name>
<!-- to specifically stop trouble with multiple apps on tomcat -->
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>customauth_root</param-value>
</context-param>
<!-- Location of the XML file that defines the root application context
applied by ContextLoaderListener. -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
WEB-INF/applicationContext.xml
WEB-INF/applicationContext-security.xml
</param-value>
</context-param>
<!-- Loads the root application context of this web app at startup. The
application context is then available via WebApplicationContextUtils.getWebApplicationContext(servletContext). -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.security.web.session.HttpSessionEventPublisher</listener-class>
</listener>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- Provides core MVC application controller. See customauth-servlet.xml. -->
<servlet>
<servlet-name>customauth</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>customauth</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>customauth</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
- parce que la DTD ne permet pas que l'élément à avoir des enfants?
- Bizarre, Servlet Specefication 2.5 permet de param-name et param-value. C'est peut-être une Éclipse problème
- Je n'étais pas sûr de ce qui est la cause de cela, j'ai simplement abandonner le projet et de le recréer à nouveau.
Vous devez vous connecter pour publier un commentaire.
Pour commencer, vous utilisez des caractères illégaux à l'intérieur de votre nœud XML param-value
Vous n'êtes pas autorisé à utiliser "/", "<" et d'autres caractères à l'intérieur d'un nœud que ça va casser l'analyse du document XML.
Vous devriez être en utilisant CDATA ou PCDATA wrappers autour de votre valeur à l'intérieur du nœud XML.
par exemple
C'est ce qui a été à l'origine de votre problème.
/
est un caractère valide à l'intérieur d'un nœud XML.Certains non-visible personnages ne sont pas considérés comme XML espace blanc, donc l'erreur est affichée. Afficher tous les caractères blancs par la configuration de l'Éclipse "Éditeur de Texte" préférences", puis le rouge, les personnages se démarquer. Vous pouvez également utiliser cet outil pour valider votre fichier XML:
Vous êtes en commentant une balise de fermeture, regardez à nouveau à
<filter-mapping>
:Cette erreur signifie juste que vous avez un faute de frappe dans votre xml. Essayez mise en forme votre XML et votre typo démarquer.