我是照着视频教程做的,基本一样
我的是MyEclipse5.5,tomcat5.0,jdk1.5
网上教程是MyEclipse6.0,tomcat6.0,jdk1.5错误如下:
2009-8-29 18:18:17 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2009-8-29 18:18:17 org.apache.catalina.core.StandardContext start
严重: Context startup failed due to previous errors
2009-8-29 18:18:22 org.apache.commons.digester.Digester endElement
严重: End event threw exception
2009-8-29 18:18:22 org.apache.catalina.startup.HostConfig deployDescriptors
严重: Error deploying configuration descriptor truts2.xmlweb.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
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">
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter><filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
struts.xml:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="struts2" extends="struts-default">
<action name="login" class="com.test.action.LoginAction">
<result name="success">/result.jsp</result>
</action>
</package>
</struts>
我的是MyEclipse5.5,tomcat5.0,jdk1.5
网上教程是MyEclipse6.0,tomcat6.0,jdk1.5错误如下:
2009-8-29 18:18:17 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2009-8-29 18:18:17 org.apache.catalina.core.StandardContext start
严重: Context startup failed due to previous errors
2009-8-29 18:18:22 org.apache.commons.digester.Digester endElement
严重: End event threw exception
2009-8-29 18:18:22 org.apache.catalina.startup.HostConfig deployDescriptors
严重: Error deploying configuration descriptor truts2.xmlweb.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
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">
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter><filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
struts.xml:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="struts2" extends="struts-default">
<action name="login" class="com.test.action.LoginAction">
<result name="success">/result.jsp</result>
</action>
</package>
</struts>
truts2.xml struts2的 struts.xml必须放到src下。
视频上没有提过 struts.xml在src下
<filter>
<filter-name>struts2-cleanup</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ActionContextCleanUp
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> <!-- Struts2的过滤器-->
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
你看看是不是哪里写错掉了?
信息: Initializing Coyote HTTP/1.1 on http-8088
2009-8-29 18:44:36 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 1594 ms
2009-8-29 18:44:36 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2009-8-29 18:44:36 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/5.0.28
2009-8-29 18:44:36 org.apache.catalina.core.StandardHost start
信息: XML validation disabled
2009-8-29 18:44:43 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2009-8-29 18:44:43 org.apache.catalina.core.StandardContext start
严重: Context startup failed due to previous errors
2009-8-29 18:44:44 org.apache.catalina.core.StandardHost getDeployer
信息: Create Host deployer for direct deployment ( non-jmx )
2009-8-29 18:44:44 org.apache.catalina.core.StandardHostDeployer install
信息: Processing Context configuration file URL file:D:\anzhuang\tomcat\Tomcat 5.0\conf\Catalina\localhost\balancer.xml
2009-8-29 18:44:44 org.apache.catalina.core.StandardHostDeployer install
信息: Processing Context configuration file URL file:D:\anzhuang\tomcat\Tomcat 5.0\conf\Catalina\localhost\admin.xml
2009-8-29 18:44:45 org.apache.struts.util.PropertyMessageResources <init>
信息: Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true
2009-8-29 18:44:45 org.apache.struts.util.PropertyMessageResources <init>
信息: Initializing, config='org.apache.struts.action.ActionResources', returnNull=true
2009-8-29 18:44:45 org.apache.struts.util.PropertyMessageResources <init>
信息: Initializing, config='org.apache.webapp.admin.ApplicationResources', returnNull=true
2009-8-29 18:44:47 org.apache.catalina.core.StandardHostDeployer install
信息: Processing Context configuration file URL file:D:\anzhuang\tomcat\Tomcat 5.0\conf\Catalina\localhost\manager.xml
2009-8-29 18:44:48 org.apache.catalina.core.StandardHostDeployer install
信息: Processing Context configuration file URL file:D:\anzhuang\tomcat\Tomcat 5.0\conf\Catalina\localhost\truts2.xml
2009-8-29 18:44:48 org.apache.commons.digester.Digester endElement
严重: End event threw exception
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:216)
at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:256)
at org.apache.commons.digester.Rule.end(Rule.java:276)
at org.apache.commons.digester.Digester.endElement(Digester.java:1058)
at org.apache.catalina.util.CatalinaDigester.endElement(CatalinaDigester.java:76)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.commons.digester.Digester.parse(Digester.java:1567)
at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:488)
at org.apache.catalina.core.StandardHost.install(StandardHost.java:863)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:483)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:983)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
at org.apache.catalina.core.StandardService.start(StandardService.java:480)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)
Caused by: java.lang.IllegalArgumentException: Invalid context path: struts2
at org.apache.catalina.core.StandardHostDeployer.addChild(StandardHostDeployer.java:893)
... 38 more
2009-8-29 18:44:48 org.apache.catalina.startup.HostConfig deployDescriptors
严重: Error deploying configuration descriptor truts2.xml
java.io.IOException: java.lang.IllegalArgumentException: Invalid context path: struts2
at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:494)
at org.apache.catalina.core.StandardHost.install(StandardHost.java:863)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:483)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:983)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
at org.apache.catalina.core.StandardService.start(StandardService.java:480)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)
2009-8-29 18:44:48 org.apache.catalina.core.StandardHostDeployer install
信息: Installing web application at context path from URL file:D:\anzhuang\tomcat\Tomcat 5.0\webapps\ROOT
2009-8-29 18:44:48 org.apache.catalina.core.StandardHostDeployer install
信息: Installing web application at context path /tomcat-docs from URL file:D:\anzhuang\tomcat\Tomcat 5.0\webapps\tomcat-docs
2009-8-29 18:44:48 org.apache.catalina.core.StandardHostDeployer install
信息: Installing web application at context path /jsp-examples from URL file:D:\anzhuang\tomcat\Tomcat 5.0\webapps\jsp-examples
2009-8-29 18:44:49 org.apache.catalina.core.StandardHostDeployer install
信息: Installing web application at context path /servlets-examples from URL file:D:\anzhuang\tomcat\Tomcat 5.0\webapps\servlets-examples
2009-8-29 18:44:49 org.apache.catalina.core.StandardHostDeployer install
信息: Installing web application at context path /webdav from URL file:D:\anzhuang\tomcat\Tomcat 5.0\webapps\webdav
2009-8-29 18:44:49 org.apache.catalina.core.StandardHostDeployer install
信息: Installing web application at context path /TestMyclipse from URL file:D:\anzhuang\tomcat\Tomcat 5.0\webapps\TestMyclipse
2009-8-29 18:44:50 org.apache.catalina.core.StandardHostDeployer install
信息: Installing web application at context path /struts from URL file:D:\anzhuang\tomcat\Tomcat 5.0\webapps\struts
2009-8-29 18:44:56 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2009-8-29 18:44:56 org.apache.catalina.core.StandardContext start
严重: Context startup failed due to previous errors
2009-8-29 18:44:57 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8088
2009-8-29 18:44:57 org.apache.jk.common.ChannelSocket init
信息: JK2: ajp13 listening on /0.0.0.0:8009
2009-8-29 18:44:57 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/203 config=D:\anzhuang\tomcat\Tomcat 5.0\conf\jk2.properties
2009-8-29 18:44:57 org.apache.catalina.startup.Catalina start
信息: Server startup in 21906 ms
感觉是你struts的过滤器错了。
但是没发现有什么不一样的地方。
你把你struts.xml中 package name换个名字试试。别用struts2
你这个错误还真没遇到过。
网上找了一些资料说是web.xml格式不正确。
你试着把这个覆盖一下试试
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
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">
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
在apache网站下载下来的包可能有问题
你找个能运行的例子,把你现在对应的lib下的包换下
要卸载掉tomcat里的驱动包程序就运行正常了,具体卸哪个忘了,你网上搜一下
认为是由于jdk1.5 与 tomcat5.0之间的关于 TransformerFactoryImpl 类的冲突造成的。
tomcat-5.0.28\common\endorsed下有两个jar包:xercesImpl.jar和xml-apis.jar,其中的类 javax.xml.transform.TransformerFactory 与jdk1.5中的类org.apache.xalan.processor.TransformerFactoryImpl其实是同一个类。
in tomcat java is called with the following argument:
-Djava.endorsed.dirs="X:\my_app\Portal\tomcat\common\endorsed"
In this directory you find two jar files: xercesImpl.jar and xml-apis.jar needed by tomcat and that must be loaded before all xmsl stuff present in the jdk (1.4 naming problem). And in the file xml-apis.jar the TransformerFactoryImpl is set to "org.apache.xalan.processor.TransformerFactoryImpl".
解决办法:
1. 将xml-apis.jar移出endorsed文件夹。
2. 用xalan系列jar包替换原来的xercesImpl.jar和xml-apis.jar。
xalan系列jar包:serializer.jar、xalan.jar、xercesImpl.jar和xml-apis.jar。
3. For other application, just check this file or dom3-xml-apis.jar in your class path.
如果你不会这样做,就使用1.4的JDK和tomcat5.0
或者JDK1.5 tomcat5.5 这2种类型才是匹配的
struts2-core-2.2.1.
jar xwork-core-2.2.1.jar
ognl-3.0.jar
javassist-3.7.ga.jar
freeer-2.3.16.jar
commons-io-1.3.2.jar
commons-fileupload-1.2.1.jar
commons-logging-1.0.4.jar
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter><filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这段代码删掉,tomcat就能正常启动了 ,这是怎么回事呀?
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter><filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这段代码删掉,tomcat就能正常启动了 ,这是怎么回事呀?