严重:Parse error in application web.xml file at jndi:/localhost/day_29/WEB-INF/web.xml解决办法

首先,遇到这类问题,可以先锁定问题是出在了web.xml当中,咱们看看问题的具体描述

严重: Parse error in application web.xml file at jndi:/localhost/day_29/WEB-INF/web.xml
org.xml.sax.SAXParseException; systemId: jndi:/localhost/day_29/WEB-INF/web.xml; lineNumber: 81; columnNumber: 20; Error at (81, 20: Invalid <url-pattern> /*.do in servlet mapping
at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2808)
at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2834)
at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1143)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)

        。。。。。。。。

其他的部分咱们不放出来,但是,需要注意的事,蓝色字体部分,咱们可以定位到错误的代码是在,/localhost/day_29/WEB-INF/web.xml; lineNumber: 81; columnNumber: 20;

OK咱们找到代码位置,看看具体是什么问题

看以下截图

注意,此处有一个小知识点,尼玛哥在学习的过程当中发现的

给大家总结一下

在Servlet映射到的URL中也可以使用 * 通配符,但是只能有两种固定的格式:
一种格式是“*.扩展名”,另一种格式是以正斜杠(/)开头并以“/*”结尾。

<servlet-mapping>
<servlet-name>secondServlet</servlet-name>
<url-pattern>
/*</url-pattern>
</servlet-mapping>
或者是这样
<servlet-mapping>
<servlet-name>secondServlet</servlet-name>
<url-pattern>
*.do</url-pattern>
</servlet-mapping>
注意: 以下的既带 / 又带扩展名的不合法. 
<servlet-mapping>
<servlet-name>secondServlet</servlet-name>
<url-pattern>/*.action</url-pattern>
</servlet-mapping>

咱们将第80行的"/"去掉,再从新运行,即可解决问题。

posted @ 2017-03-14 22:37  keepgoon  阅读(1824)  评论(0编辑  收藏  举报