2014-11-03 113 views
18

我在stackoverflow中搜索了一些页面来解决这个问题,确实遵循了一些真正的答案但是不工作。春天我很新,很抱歉。 这里是我的调度员的servletSprings元素'beans'不能有字符[children],因为这个类型的内容类型是元素唯一的

<?xml version='1.0' encoding='UTF-8' ?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:p="http://www.springframework.org/schema/p" 
     xmlns:context="http://www.springframework.org/schema/context" 
     xmlns:mvc="http://www.springframework.org/schema/mvc" 
     xmlns:aop="http://www.springframework.org/schema/aop" 

     xsi:schemaLocation="http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans-4.0.xsd 
     http://www.springframework.org/schema/context  
     http://www.springframework.org/schema/context/spring-context-4.0.xsd 
     http://www.springframework.org/schema/mvc 
     http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd 
     http://www.springframework.org/schema/aop 
     http://www.springframework.org/schema/aop/spring-aop-4.0.xsd 
     http://www.springframework.org/schema/tx 
     http://www.springframework.org/schema/tx/spring-tx-4.0.xsd"> 

<context:component-scan base-package="controller" /> 
 <mvc:annotation-driven /> 
    <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/> 

    <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
     <property name="mappings"> 
      <props> 
       <prop key="index.htm">indexController</prop> 
      </props> 
     </property> 
    </bean> 

    <bean id="viewResolver" 
      class="org.springframework.web.servlet.view.InternalResourceViewResolver" 
      p:prefix="/WEB-INF/jsp/" 
      p:suffix=".jsp" /> 
    <bean name="indexController" 
      class="org.springframework.web.servlet.mvc.ParameterizableViewController" 
      p:viewName="index" /> 

</beans> < -- line 52 here... 

这里是我的web.xml

<?xml version="1.0" encoding="UTF-8"?> 
    <web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
    http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"> 
     <context-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value>/WEB-INF/applicationContext.xml</param-value> 
     </context-param> 
     <listener> 
      <listener- 
      class>org.springframework.web.context.ContextLoaderListener</listener-class> 
     </listener> 
     <servlet> 
      <servlet-name>dispatcher</servlet-name> 
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet- 
class> 
      <load-on-startup>2</load-on-startup> 
     </servlet> 
     <servlet-mapping> 
      <servlet-name>dispatcher</servlet-name> 
      <url-pattern>*.htm</url-pattern> 
     </servlet-mapping> 
     <session-config> 
      <session-timeout> 
       30 
      </session-timeout> 
     </session-config> 
     <welcome-file-list> 
      <welcome-file>redirect.jsp</welcome-file> 
     </welcome-file-list> 
    </web-app> 

而且我的ApplicationContext

<?xml version='1.0' encoding='UTF-8' ?> 
<!-- was: <?xml version="1.0" encoding="UTF-8"?> --> 
<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:p="http://www.springframework.org/schema/p" 
     xmlns:aop="http://www.springframework.org/schema/aop" 
     xmlns:tx="http://www.springframework.org/schema/tx" 
     xsi:schemaLocation="http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans-4.0.xsd 
     http://www.springframework.org/schema/aop 
     http://www.springframework.org/schema/aop/spring-aop-4.0.xsd 
     http://www.springframework.org/schema/tx 
     http://www.springframework.org/schema/tx/spring-tx-4.0.xsd"> 

    <!--bean id="propertyConfigurer" 
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" 
      p:location="/WEB-INF/jdbc.properties" /> 

<bean id="dataSource" 
    class="org.springframework.jdbc.datasource.DriverManagerDataSource" 
    p:driverClassName="${jdbc.driverClassName}" 
    p:url="${jdbc.url}" 
    p:username="${jdbc.username}" 
    p:password="${jdbc.password}" 
</beans> 

我在源码包控制器封装。 日志说:

04-Nov-2014 07:15:34.187 SEVERE [http-nio-8084-exec-375] org.apache.catalina.core.StandardWrapperValve.invoke Allocate exception for servlet dispatcher 
org.xml.sax.SAXParseException; lineNumber: 52; columnNumber: 9; cvc-complex-type.2.3: Element 'beans' cannot have character [children], because the type's content type is element-only. 
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198) 
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134) 
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:437) 
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368) 
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:325) 
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:458) 
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3237) 
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.elementLocallyValidComplexType(XMLSchemaValidator.java:3200) 
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.elementLocallyValidType(XMLSchemaValidator.java:3160) 
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processElementContent(XMLSchemaValidator.java:3062) 
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleEndElement(XMLSchemaValidator.java:2140) 
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.endElement(XMLSchemaValidator.java:859) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1782) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2973) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) 
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) 
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) 
    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243) 
    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:347) 
    at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:76) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadDocument(XmlBeanDefinitionReader.java:428) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:335) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:303) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:216) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:187) 
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125) 
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94) 
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129) 
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:540) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:454) 
    at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:658) 
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:624) 
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:672) 
    at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:543) 
    at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:484) 
    at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) 
    at javax.servlet.GenericServlet.init(GenericServlet.java:158) 
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1241) 
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1154) 
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:827) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655) 
    at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:745) 

删除2线:

<context:component-scan base-package="controller" /> 
     <mvc:annotation-driven /> 

那么这个项目的正常运行。我不知道为什么....

enter image description here

+0

不幸的是,图像太小,看不到细节,你真的有一个名为“控制器”的包,其中你的春天mvc代码是? – Aeseir 2014-11-03 23:48:58

+0

所以这个问题仍然有效? – Aeseir 2014-11-04 00:01:43

+0

对不起,我改变了标题,采取新的职位,愚弄。我试了2个小时,但解决不了。尝试更改,尝试添加新的代码,并得到新的问题... – kemdo 2014-11-04 00:04:59

回答

3

注意到了您的调度员-servlet.xml文件你缺少“<?xml version="1.0" encoding="UTF-8"?>”。

请将其添加到文件顶部并重新运行。让我知道如果它不起作用。

+0

只需清除此代码: 。然后该项目正常运行,我不知道为什么...... – kemdo 2014-11-04 01:02:23

+0

你能否确认你的控制器包的位置,给出从项目的src级别开始的完整地址。 – Aeseir 2014-11-04 01:12:29

+0

不用担心。我的代码问题中有99%来自愚蠢的小问题。 – Aeseir 2014-11-04 01:18:29

5

不幸的是,我是一个简单的错误,我输入'。'。中间的人物。

通过删除'。'来解决。 - 如果配置文件中存在未使用和未知的字符,将会出现此类错误。

+1

我也是这样,在配置文件中有额外的'>' – dieend 2015-09-28 10:34:28

+0

当我为这个文件愚蠢地添加一个C风格的'//注释'时,我遇到了这个问题。 – Mordred 2017-05-02 17:52:29

28

我有同样的问题。我看了几个小时。我找不到任何问题。然后我决定,如果你使用不同的编辑器,有时你会看到不同的东西。我关闭了Netbeans并在emacs中打开了该文件。我立即看到,有一些不间断的空格字符,或制表符,或某种类型的非空格的空格。我不知道它是哪个字符,但在emacs中显示为红色,但在Netban中显示为红色,但在Netban中显示为空白

0

问题是springsecurity.xml中的一条未注释的行,当我评论整个文件并且未注释时缺少这行。确保你有额外的文字评论或删除它们。

4

按照列出的下面的步骤,你应该能够解决这个问题:

  1. 尝试打开Internet Explorer中的XML或任何XML查看工具,看看XML是否正确渲染。
  2. 或者你可以做一个Ctrl + Shift + F来格式化xml文件,看看xml格式是否正确。
  3. 通过上述步骤,您应该能够找到需要进行更改的确切位置,从而使xml格式良好。
  4. 在我的情况下,我不得不删除额外的“<”结束标签来解决问题。
3

是的,我遇到了同样的问题。 我先解决了它:格式化XML。 然后我对线条进行了敏锐的观察,发现一个额外的结束标记(/>)阻止了结束标记看到打开的标记。所以我删除了错误(/>)并部署了该程序。

0

我得到了同样的问题。意识到这是由于我的IDE无法识别的未知空间。在崇高文字中打开它并更正空格。现在完美运作。

0

我得到了类似的错误。我怎么固定它的更换方式:

<property name="param">true</property> 

<property name="param" value="true"/> 
-1

手动检查是否有不必要的空格选项卡每个节点之前,你可以用eclipse做

问候

1

我遇到了同样的问题,我通过使用online xml validation tool验证了我的xml并解决了问题,并发现有一个额外的空白这是错误的原因。

+0

嗨。您可以在此处添加验证xml工具链接以帮助遇到此问题的人。 :) – kemdo 2017-04-19 08:42:41

0

这是一些特殊隐藏字符的问题。您可以将其复制到某些文本编辑器中,并删除任何隐藏的字符并更好地格式化,现在请参阅..此问题必须解决。

相关问题