【问题标题】:Error in web.xml file - Tomcat virtual serverweb.xml 文件中的错误 - Tomcat 虚拟服务器
【发布时间】:2013-12-05 17:26:18
【问题描述】:

我的 web.xml 文件在虚拟 Tomcat 服务器上运行时似乎有很多问题。最初我不得不将格式转换为 UTF-8,这解决了几个错误,但现在我似乎无法对这个最新的错误做出正面或反面。任何帮助将不胜感激。

错误日志

05-Dec-2013 17:01:02.341 INFO [main] org.apache.catalina.core.AprLifecycleListener.init The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.0\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;%CommonProgramFiles%\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files\Sublime Text 2;C:\Program Files\MySQL\MySQL Server 5.5\bin;C:\Program Files\Common Files\Microsoft Shared\Windows Live;.
05-Dec-2013 17:01:02.531 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
05-Dec-2013 17:01:02.580 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
05-Dec-2013 17:01:02.582 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
05-Dec-2013 17:01:02.623 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
05-Dec-2013 17:01:02.624 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 514 ms
05-Dec-2013 17:01:02.648 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
05-Dec-2013 17:01:02.649 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.0-RC5
05-Dec-2013 17:01:02.672 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.0\webapps\sample.war
05-Dec-2013 17:01:03.120 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.0\webapps\docs
05-Dec-2013 17:01:03.246 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.0\webapps\helloworld
05-Dec-2013 17:01:03.260 SEVERE [localhost-startStop-1] org.apache.tomcat.util.descriptor.web.WebXmlParser.parseWebXml Parse error in application web.xml file at file:/C:/Program%20Files%20(x86)/Apache%20Software%20Foundation/Tomcat%208.0/webapps/helloworld/WEB-INF/web.xml

web.xml

<?xml version=”1.0” encoding=”ISO-8851-1” ?>
<web-app xmlns=”http://java.sun.com/xml/ns/j2ee”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd”
version=”2.4”>
<servlet>
<servlet-name>HWServlet</servlet-name>
<servlet-class>test.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HWServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>

*这是日志文件的第一部分,如果您认为发布更多内容会有所帮助,我很乐意发布更多内容。

【问题讨论】:

  • 您的 web.xml 仍然损坏。你真的应该使用像 NetBeans 或 Eclipse 这样的 IDE,他们的 XML 编辑器可以很容易地发现 XML 中的错误。
  • 最后一行写着... Parse error in application web.xml ...,就像提到的陀螺一样。向我们展示您的 web.xml 文件,我们会尽力帮助您。
  • 感谢大家的意见。我已经按照你的建议建立了 web.xml 文件。

标签: java xml jakarta-ee tomcat web.xml


【解决方案1】:

您确定您发布了整个web.xml 吗?这甚至不是有效的 XML:&lt;servlet-mapping&gt; 元素未关闭,&lt;web-app&gt; 元素未关闭,并且您使用了错误的引号( 而不是 ")。所以,对于初学者来说,试试这个:

<?xml version="1.0" encoding="UTF-8"?>
<web-app
        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"
        metadata-complete="true"
        version="2.5"
        >
    <servlet>
        <servlet-name>HWServlet</servlet-name>
        <servlet-class>test.HelloWorld</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HWServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>

【讨论】:

  • 你有没有看我的回答?我说你的web.xml 有错误的引号 - 它仍然存在。试试我的样品,看看它是否有帮助。如果您不想使用 IDE XML 验证器,请尝试在线使用,例如xmlvalidation.com
  • 我忘了提,我仍然尝试了你的 xml 示例,但仍然没有骰子。我将下载一个 IDE 并按照上面的建议尝试 xml 验证器。无论如何感谢您的帮助。
  • "still no dice" 不是那种帮助别人帮你解决问题的信息。肯定有一种不同的异常,因为我提供的 XML 是有效的。
猜你喜欢
  • 2011-06-12
  • 2022-11-07
  • 1970-01-01
  • 1970-01-01
  • 2014-01-08
  • 2020-07-25
  • 2015-04-15
  • 2017-06-02
  • 1970-01-01
相关资源
最近更新 更多