struts2的helloworld程序部署报错的解决方案
来源:互联网 发布:淘宝小也旗舰店靠谱吗 编辑:程序博客网 时间:2024/06/05 22:12
在初次学习struts2的过程中,遇到困难是很正常的事情,我相信,每个人在接触新技术时,最先做的就是创建helloworld小程序,我在创建基于struts2的demo时,在myeclipse中部署程序的时候,遇到了如下的错误:
Caused by: http://struts.apache.org/dtds/struts-2.5.dtd - Class: sun.net.www.protocol.http.HttpURLConnectionFile: HttpURLConnection.javaMethod: getInputStreamLine: 1303 - sun/net/www/protocol/http/HttpURLConnection.java:1303:-1at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:115)at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:885)... 24 moreCaused by: java.io.FileNotFoundException: http://struts.apache.org/dtds/struts-2.5.dtdat sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1303)at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:677)at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1315)at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:1282)at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:283)at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1192)at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1089)at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1002)at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)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:807)at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:113)... 25 more2014-8-2 17:48:36 org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks严重: The web application [/StrutsDemo] created a ThreadLocal with key of type [com.opensymphony.xwork2.inject.ContainerImpl$10] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@41a330e4]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@40deea66]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.2014-8-2 17:48:36 org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks严重: The web application [/StrutsDemo] created a ThreadLocal with key of type [com.opensymphony.xwork2.inject.ContainerImpl$10] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@6aeeefcf]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@6cc235e1]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.2014-8-2 17:48:38 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info信息: Parsing configuration file [struts-default.xml]2014-8-2 17:48:38 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info信息: Unable to locate configuration files of the name struts-plugin.xml, skipping2014-8-2 17:48:38 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info信息: Parsing configuration file [struts-plugin.xml]2014-8-2 17:48:38 org.apache.catalina.core.StandardContext filterStart严重: Exception starting filter struts2Unable to load configuration. - Class: sun.net.www.protocol.http.HttpURLConnectionFile: HttpURLConnection.javaMethod: getInputStreamLine: 1303 - sun/net/www/protocol/http/HttpURLConnection.java:1303:-1at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:360)at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:403)at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:48)at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:281)at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:107)at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4775)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5452)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3954)at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1270)at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1439)at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:315)at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1374)at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1530)at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1519)at java.lang.Thread.run(Thread.java:619)Caused by: Unable to load file:/F:/apache-tomcat-7.0.42/webapps/StrutsDemo/WEB-INF/classes/struts.xml - Class: sun.net.www.protocol.http.HttpURLConnectionFile: HttpURLConnection.javaMethod: getInputStreamLine: 1303 - sun/net/www/protocol/http/HttpURLConnection.java:1303:-1at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:890)at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:144)at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:111)at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:164)at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)... 21 moreCaused by: http://struts.apache.org/dtds/struts-2.5.dtd - Class: sun.net.www.protocol.http.HttpURLConnectionFile: HttpURLConnection.javaMethod: getInputStreamLine: 1303 - sun/net/www/protocol/http/HttpURLConnection.java:1303:-1at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:115)at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:885)... 25 moreCaused by: java.io.FileNotFoundException: http://struts.apache.org/dtds/struts-2.5.dtdat sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1303)at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:677)at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1315)at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:1282)at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:283)at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1192)at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1089)at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1002)at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)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:807)at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:113)... 26 more2014-8-2 17:48:38 org.apache.catalina.core.StandardContext startInternal严重: Error filterStart2014-8-2 17:48:38 org.apache.catalina.core.StandardContext startInternal严重: Context [/StrutsDemo] startup failed due to previous errors
struts.xml如下:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC <span style="color:#ff0000;">"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"></span><struts><constant name="struts.devMode" value="true" /><package name="test" namespace="/" extends="struts-default"><action name="test" class="com.lc.action.TestAction"><result>/test.jsp</result></action></package><!-- Add packages here --></struts>
这个错误困扰了一周的时间,在部署程序后,在浏览器中输入localhost:8080/test后一直显示404,就是不显示test.jsp中的内容,于是,我在网上查找了好多资料,也询问了身边搞java web的朋友,最终找到了问题的根源所在。
问题根源及解决方案:
图中struts.xml配置中的红色部分,把struts的版本写错,项目中用到的struts版本为2.1,而这里却写成了struts-2.5.dtd,由于写程序的配置文件时是从struts官网上copy的,所以我就忽略了版本不匹配的问题,所以就导致了这个让人头疼的问题。解决方案就是将struts.xml中红色部分的2.5改成2.1就可以了,这样改过之后,就可以正常的 部署项目,顺利的运行出test.jsp中的内容了。
0 0
- struts2的helloworld程序部署报错的解决方案
- Struts2的HelloWorld程序
- Struts2的HelloWorld程序
- Struts2的HelloWorld程序
- struts2入门的HelloWorld报错!
- struts2入门的HelloWorld报错!【解决】
- 运行部署的htmlunit程序报错
- struts2 一个简单的 struts2程序(HelloWorld)
- 编译器没有报错,但是部署项目不成功的解决方案
- struts2的helloworld
- struts2下的helloworld
- struts2的helloworld版
- struts2的HelloWorld
- 搭建struts2的helloworld
- 重写ejb的helloworld程序,部署容器为JBoss
- 关于MyEclipse 10 部署报错或者无法部署问题的解决方案
- Struts2的开篇程序HelloWorld中的两点错误
- 部署.NET程序报错 “无法识别的属性“type”
- python学习-列表生成式
- php linux 发送带附件邮件
- java连接接数据库实现数据库的添加 删除 更新 查询操作的一个帮助类
- python学习-生成器
- process_begin: CreateProcess(...) failed.
- struts2的helloworld程序部署报错的解决方案
- python学习-高阶函数
- jQuery遍历
- 程序员生存定律-打造属于自己的稀缺性
- python学习-匿名函数
- A. Eevee
- SGU 259 单机调度问题 +贪心 及此题解法的证明
- python学习-装饰器
- cocos2D-x 3.x学习笔记【二】 事件机制入门