以下是我的struts-config.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts 
Configuration 1.1//EN" "http://struts.apache.org/dtds/struts-config_1_1.dtd">

<struts-config>
<form-beans>
<form-bean name="helloWordActionForm" type="com.file.HelloWorldActionForm"/>

</form-beans>

<action-mappings>
<action path="/HelloWorldAction" type="com.file.HelloWorldAction"
name="helloWorldActionForm"
parameter="methode"
scope="request" validate="false">
<forward name="success" path="/WhoSayHelloWorld.jsp"/>
</action>
</action-mappings></struts-config>以下为web.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.5//EN" 
"http://java.sun.com/dtd/web-app_2_5.dtd">
<web-app  version="2.5"
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">  <servlet>
    <servlet-name>UsernameServlet</servlet-name>
    <servlet-class>com.servlet.UsernameServlet</servlet-class>
  </servlet>  <!-- 制定一个servlet的必要元素 -->
  <servlet>
   <!-- 表示该servlet的名字以及具体对象的所在 -->
   <servlet-name>action</servlet-name>
   <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<!-- 定义servlet的初始接收参数 -->
  <init-param>
   <param-name>config</param-name>
   <param-value>/WEB-INF/struts-config.xml</param-value>
  </init-param>
  <init-param>
   <param-name>debug</param-name>
   <param-value>2</param-value>
  </init-param>
  <!-- 定义servlet被web服务器装载的装载优先级 -->
  <load-on-startup>1</load-on-startup>
   </servlet>
   
   
  <servlet-mapping>
    <servlet-name>UsernameServlet</servlet-name>
    <url-pattern>/UsernameServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
   <servlet-name>action</servlet-name>
   <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>
以下为tomcate启动时的错误提示:信息: Deploying web application directory StrustLearn
2012-4-4 11:22:32 org.apache.catalina.startup.ContextConfig applicationWebConfig
严重: Parse error in application web.xml file at jndi:/localhost/StrustLearn/WEB-INF/web.xml
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:666)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:611)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:631)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1000)
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:1316)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:1283)
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:1168)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1068)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:988)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:645)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:508)
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 org.apache.tomcat.util.digester.Digester.parse(Digester.java:1642)
at org.apache.catalina.startup.ContextConfig.applicationWebConfig(ContextConfig.java:365)
at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1076)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:261)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4611)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1315)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1061)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
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:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
2012-4-4 11:22:32 org.apache.catalina.startup.ContextConfig start
严重: Marking this application unavailable due to previous error(s)
2012-4-4 11:22:32 org.apache.catalina.core.StandardContext start
严重: Error getConfigured
2012-4-4 11:22:32 org.apache.catalina.core.StandardContext start
严重: Context [/StrustLearn] startup failed due to previous errors
2012-4-4 11:22:32 org.apache.coyote.http11.Http11AprProtocol start
信息: Starting Coyote HTTP/1.1 on http-80
2012-4-4 11:22:32 org.apache.coyote.ajp.AjpAprProtocol start
信息: Starting Coyote AJP/1.3 on ajp-8009
2012-4-4 11:22:32 org.apache.catalina.startup.Catalina start
信息: Server startup in 21322 ms
由于我是看书自学,搞不懂里面的具体内容,书是2006年出版的struts-java流行服务器、框架、工具及整合应用。在此问题上已经搁了2天了,实在啃不下,求大家帮助!!在线守候!

解决方案 »

  1.   

    struts1现在只是遗留项目在用了...
      

  2.   

    1 看看有没有正确的布署,或者干脆重装tomcat。2 继续提问。
      

  3.   

    在创建这个项目前tomcate都是可以成功部署的,就是创建这个项目后,前几个web工程也都不能正确部署了,错误时一样的
      

  4.   

    是指引入tomcate的lib文件夹中吗?
      

  5.   

    ~~~这是小弟的第一个struts工程。。万事开头难啊!
      

  6.   

    首先当然看你IDE中的JAR包。然后看TOMCAT中的。Struts1现在好像很少有人用了。建议从Struts2开始学起。
      

  7.   


    这是我的myeclipse和tomcate的架包文件这是小弟的第一个struts工程,万事开头难啊!
      

  8.   

    可能是前面的草错有误,myeclipse中其他的web项目是可以成功发布的,只有strutslearn不行
      

  9.   

    建议楼主直接学struts2吧  1和2差距是很大的