如果我把web.xml文件改成以下这样:
我将web.xml文件中加入config参数改成这样:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
    "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<description>
The Web.xml configuration of Struts Test Sample Application
</description>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
还是没有成功,到底是什么原因啊???

解决方案 »

  1.   

    struts.jar放到tomcat安装目录/common/lib下,把jakarta-struts1.1\lib下的所有.jar文件都拷到/common/lib下覆盖了一个common-collections.jar文件,然后启动就好了。以上只是最苯的方法,不过楼主试试。
      

  2.   

    我尝试过了,可是还是不行,如果把Struts\lib下所有的jar文件都复制过去,连Tomcat都运行不了了,如果只是将Struts.jar和common-collections.jar复制过去,问题依然,看来问题还不是出现在这里啊!!!有没有其他什么方法吗?急啊!!!难以形容的急啊!!!
      

  3.   

    <taglib>
    <taglib-uri>http://jakarta.apache.org/taglibs/application-1.0</taglib-uri>
    <taglib-location>/WEB-INF/lib/application.jar</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://jakarta.apache.org/taglibs/page-1.0</taglib-uri>
    <taglib-location>/WEB-INF/lib/page.jar</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://jakarta.apache.org/taglibs/request-1.0</taglib-uri>
    <taglib-location>/WEB-INF/lib/request.jar</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://jakarta.apache.org/taglibs/response-1.0</taglib-uri>
    <taglib-location>/WEB-INF/lib/response.jar</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://jakarta.apache.org/taglibs/session-1.0</taglib-uri>
    <taglib-location>/WEB-INF/lib/session.jar</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://jakarta.apache.org/taglibs/i18n-1.0</taglib-uri>
    <taglib-location>/WEB-INF/lib/i18n.jar</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/WEB-INF/struts-template.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-template.tld</taglib-location>
    </taglib>把上面的标签库的文件加入到 web.xml中试一试
      

  4.   

    谢谢给我提供了一个思路,但是问题还是没有解决,真见鬼了!!!
    application.jar
    page.jar
    response.jar
    request.jar
    session.jar
    i18n.jar
    这几个文件是什么东东?
    Struts的lib目录中和Tomcat的common\lib目录下也没有这些文件呀!!!
    我把属于这几个文件<tablib></taglib>加入web.xml文件后,这个inputContent.jsp页面就出不来了,出现以下错误:
    HTTP Status 404 - /StrutsApp/inputContent.jsp--------------------------------------------------------------------------------type Status reportmessage /StrutsApp/inputContent.jspdescription The requested resource (/StrutsApp/inputContent.jsp) is not available.
    --------------------------------------------------------------------------------Apache Tomcat/4.1.24
    真见鬼了!!!各位高人快来帮帮我把,你们都还没有讲到点子上呀!!!
      

  5.   

    首先配置好struts环境;用http://localhost:8080/struts-example/试一下
    如果出现struts首页,说名struts环境没有问题,然后你可以按\jakarta-tomcat-5.0.16\webapps\struts-example的例子进行配置,我想能ok。如果还有问题就说明是你的配置转
    发的问题,jakarta-tomcat-5.0.16\conf\serve.xml 你也要关注一下<Context path="/" docBase="" debug="0">的配置,多试一下,还可以把<html:form action="empaction.do">
    换成<html:form action="/empaction.do">试一下,主你成功,期盼接分!!!!
      

  6.   

    看来问题是出现在struts的配置上了,启动Tomcat,用http://localhost:8080/struts-example/说request resource is no available.没有出现struts首页。
    我用的是tomcat4.1.24+struts1.2,使用是手写代码,不是JBuilder中的集成环境,如果要使用http://localhost:8080/struts-example/让其出现struts首页,应该具体怎样做配置呢?我只是把struts.jar文件放在WEB-INF\lib目录下,struts标签库的tld文件放在WEB-INF目录下,web.xml文件和struts-config.xml文件也放在WEB-INF目录下,相应的ActionFormBean和Action的类文件都放在WEB-INF\class目录下面,这样做应该没有什么问题的呀!!!请各位高人再帮我看看!!!
      

  7.   

    问题终于解决,我把解决问题的步骤放在这里,让其余碰到相同问题的朋友以后能够得到答案。
    因为原来在我Tomcat应用程序的lib目录只有一个struts.jar文件,运行tomcat时候完全没有问题,在一篇教程上我看到需要把Struts的lib目录下的所有jar文件都要复制到Tomcat应用程序的lib目录下,好了,这时候启动Tomcat就出现问题了,会出现一下那样的错误信息:
    [ERROR] ActionServlet - -Parsing error processing resource path /WEB-INF/struts-config.xml <java.net.UnknownHostException: jakarta.apache.org>java.net.UnknownHo
    stException: jakarta.apache.org
    等信息,从信息上来看,我看问题多数还是出现在struts-config.xml文件这块,后来我又从网上下了一个比较简单的用struts构建的应用程序的实例,并且我又打开struts-example.war文件中struts-config.xml文件仔细分析,发现原来它们这些文件用的文档类型头文件都是这样:
    <!DOCTYPE struts-config PUBLIC
              "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
              "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
    而我在文件中用的是这样:
    <!DOCTYPE struts-config SYSTEM "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
    把它改回正确的,发现局部forward标签又少了结束标志。至此,问题全部解决。我所不明白的是这个错误的文档类型头文件的定义我是看struts-examples.war文件里的struts-config.xml文件里的,怪了,这struts-example.war和strtus-examples.war文件里的struts-config.xml文件里的文档类型头定义竟然两样,而且它们仍然能工作正常,这是什么原因啊?
    难道<!DOCTYPE struts-config PUBLIC
              "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
              "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">

    <!DOCTYPE struts-config SYSTEM "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
    使用的情景是两样的,还忘高人能帮我分析一下!!!谢谢!!!
    (顶楼问题帖子中的struts-config.xml文件的文档类型定义不是我真正发生问题的文档类型头定义,在我真正发生问题的程序中使用的是
    <!DOCTYPE struts-config SYSTEM "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">,分散了高人们分析问题的思路,对不起,不过问题还是解决了,谢谢你们)
      

  8.   

    真正的原因可能是struts-config.xml的字符编码有问题
    比如说复制的时候把一个不可见的中文字符也复制进去了
    据说用xmlspy等工具可以查看出xml配置文件中是否含有中文字符我以前也多次碰到这个问题,后来把struts-config.xml的encoding改为GBK就好了
    当然,也可能是改了其他的地方(因为这个错误在我这里再也没有重现,所以无法验证)