web.xml部分内容如下:<?xml version="1.0" encoding="UTF-8"?>
<!--声明标签库 j2ee1.4 library /javax.servlet.jar/javax.servlet.resource/web-app_2_3.dtd--><!DOCTYPE web-app PUBLIC
    "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
    <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>
        <init-param>
            <param-name>debug</param-name>
            <param-value>3</param-value>
        </init-param>
        <init-param>
            <param-name>detail</param-name>
            <param-value>3</param-value>
        </init-param>
        <load-on-startup>0</load-on-startup>
    </servlet>
    
  
     
    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
      
 
    <!-- 字符编码设定 -->
  <filter>
   <filter-name>characterFilter</filter-name>
   <filter-class>com.ghost.filter.CharFilter</filter-class>
  </filter>
  <filter-mapping>
   <filter-name>characterFilter</filter-name>
   <url-pattern>/*</url-pattern>
  </filter-mapping>
  第一个  web app 被用红线 标示着,不知道为什么 会有这个 错误?

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【thankyou2008】截止到2008-07-06 17:37:05的历史汇总数据(不包括此帖):
    发帖的总数量:11                       发帖的总分数:820                      
    结贴的总数量:8                        结贴的总分数:440                      
    无满意结贴数:1                        无满意结贴分:40                       
    未结的帖子数:3                        未结的总分数:380                      
    结贴的百分比:72.73 %               结分的百分比:53.66 %                  
    无满意结贴率:12.50 %               无满意结分率:9.09  %                  
    楼主加油
      

  2.   

    没有 </web-app> 结束配对??
      

  3.   

    由配对的 完整的如下:<?xml version="1.0" encoding="UTF-8"?>
    <!--声明标签库 j2ee1.4 library /javax.servlet.jar/javax.servlet.resource/web-app_2_3.dtd--><!DOCTYPE web-app PUBLIC
        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
        <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>
            <init-param>
                <param-name>debug</param-name>
                <param-value>3</param-value>
            </init-param>
            <init-param>
                <param-name>detail</param-name>
                <param-value>3</param-value>
            </init-param>
            <load-on-startup>0</load-on-startup>
        </servlet>
             
        <servlet-mapping>
            <servlet-name>action</servlet-name>
            <url-pattern>*.do</url-pattern>
        </servlet-mapping>
      
        <!-- 字符编码设定 -->
      <filter>
       <filter-name>characterFilter</filter-name>
       <filter-class>com.ghost.filter.CharFilter</filter-class>
      </filter>
      <filter-mapping>
       <filter-name>characterFilter</filter-name>
       <url-pattern>/*</url-pattern>
      </filter-mapping>      <!-- The Usual Welcome File List 配置起始页 -->
        <welcome-file-list>
            <welcome-file>index.jsp</welcome-file>
            <welcome-file>CustomerReg.jsp</welcome-file>
        </welcome-file-list>
       
       <!-- The struts taglibs  -->
        <taglib>
           <taglib-uri>struts-html</taglib-uri>
            <taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location>
        </taglib>
        <taglib>
            <taglib-uri>struts-bean</taglib-uri>
            <taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location>
        </taglib>
        <taglib>
            <taglib-uri>struts-logic</taglib-uri>
            <taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location>
        </taglib>     <taglib>
            <taglib-uri>struts-nested</taglib-uri>
            <taglib-location>/WEB-INF/tld/struts-nested.tld</taglib-location>
        </taglib>
        <taglib>
            <taglib-uri>struts-tiles</taglib-uri>
            <taglib-location>/WEB-INF/tld/struts-tiles.tld</taglib-location>
        </taglib>
        </web-app>
      

  4.   

    错误提示:
    The content of element type "web-app" must match "(icon?,display-
     name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,servlet-
     mapping*,session-config?,mime-mapping*,welcome-file-list?,error-page*,taglib*,resource-env-
     ref*,resource-ref*,security-constraint*,login-config?,security-role*,env-entry*,ejb-ref*,ejb-local-
     ref*)".
      

  5.   

    你把这部分放到  <servlet>  之前,其它顺序不变,试一试  <!-- 字符编码设定 --> 
      <filter> 
      <filter-name>characterFilter </filter-name> 
      <filter-class>com.ghost.filter.CharFilter </filter-class> 
      </filter> 
      <filter-mapping> 
      <filter-name>characterFilter </filter-name> 
      <url-pattern>/* </url-pattern> 
      </filter-mapping> 
      

  6.   

    <?xml version="1.0" encoding="UTF-8"?>
    <!--声明标签库 j2ee1.4 library /javax.servlet.jar/javax.servlet.resource/web-app_2_3.dtd--><!DOCTYPE web-app PUBLIC 
        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
        "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
        <!-- 字符编码设定 -->
        <filter>
            <filter-name>characterFilter</filter-name>
            <filter-class>com.ghost.filter.CharFilter </filter-class>
        </filter>
        <filter-mapping>
            <filter-name>characterFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>    <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>
            <init-param>
                <param-name>debug</param-name>
                <param-value>3</param-value>
            </init-param>
            <init-param>
                <param-name>detail</param-name>
                <param-value>3</param-value>
            </init-param>
            <load-on-startup>0</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>action</servlet-name>
            <url-pattern>*.do</url-pattern>
        </servlet-mapping>    <!-- The Usual Welcome File List 配置起始页 -->
        <welcome-file-list>
            <welcome-file>index.jsp</welcome-file>
            <welcome-file>CustomerReg.jsp</welcome-file>
        </welcome-file-list>    <!-- The struts taglibs  -->
        <taglib>
          <taglib-uri>struts-html</taglib-uri>
            <taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location>
        </taglib>
        <taglib>
            <taglib-uri>struts-bean</taglib-uri>
            <taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location>
        </taglib>
        <taglib>
            <taglib-uri>struts-logic</taglib-uri>
            <taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location>
        </taglib>
        <taglib>
            <taglib-uri>struts-nested</taglib-uri>
            <taglib-location>/WEB-INF/tld/struts-nested.tld</taglib-location>
        </taglib>
        <taglib>
            <taglib-uri>struts-tiles</taglib-uri>
            <taglib-location>/WEB-INF/tld/struts-tiles.tld</taglib-location>
        </taglib>
    </web-app>
      

  7.   

    另外那堆 <taglib> 标签完全可以去掉,然后在 JSP 页中直接
    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
    <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
    <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
    <%@ taglib uri="http://struts.apache.org/tags-nested" prefix="nested" %>之后 web.xml 文件可以简化不少,如下
    <?xml version="1.0" encoding="UTF-8"?>
    <!--声明标签库 j2ee1.4 library /javax.servlet.jar/javax.servlet.resource/web-app_2_3.dtd--><!DOCTYPE web-app PUBLIC 
        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
        "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
        <!-- 字符编码设定 -->
        <filter>
            <filter-name>characterFilter</filter-name>
            <filter-class>com.ghost.filter.CharFilter </filter-class>
        </filter>
        <filter-mapping>
            <filter-name>characterFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>    <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>
            <init-param>
                <param-name>debug</param-name>
                <param-value>3</param-value>
            </init-param>
            <init-param>
                <param-name>detail</param-name>
                <param-value>3</param-value>
            </init-param>
            <load-on-startup>0</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>action</servlet-name>
            <url-pattern>*.do</url-pattern>
        </servlet-mapping>    <!-- The Usual Welcome File List 配置起始页 -->
        <welcome-file-list>
            <welcome-file>index.jsp</welcome-file>
            <welcome-file>CustomerReg.jsp</welcome-file>
        </welcome-file-list>
    </web-app>
      

  8.   

    没太研究过 不过
    一般不都是这样格式的吗?
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_ID" 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">
    <display-name>WebTest</display-name>
    <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
    </web-app>
      

  9.   

    老师,不是一般 都是 要把标签放在 tld中 并且在 在 web.xml中声明标签的么?
          
      

  10.   

    9 楼 说的很对,<taglib>是完全可以不要的
      

  11.   

    <!DOCTYPE web-app PUBLIC 
        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
        "http://java.sun.com/dtd/web-app_2_3.dtd"><web-app id="WebApp_ID" 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">请注意这两处,一个是 web-app_2_3.dtd 一个是 web-app_2_4.xsd,这两个文件都是定义 XML 文档编写规则的文件,其中记录了 web.xml 中标签及标签属性的详细使用规则和标签的嵌套规则。dtd 对标签书写的顺序要求较高,xsd 编写的规则更灵活精细,灵活在对标签出现的顺序不做要求。其中 web.xml(即部署描述符文件)2.3 版本用 dtd 方式描述,新版本 2.4 使用更灵活的 xsd 描述。建议使用后者。
      

  12.   

    下面是一个采用 2.4 新版本格式较完整的部署描述符文件的例子<?xml version="1.0" encoding="UTF-8"?>
    <web-app 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”
    version=”2.4”>
    <display-name>A Simple Application</display-name> <context-param>
    <param-name>Webmaster</param-name>
    <param-value>[email protected]</param-value>
    </context-param> <servlet>
    <servlet-name>catalog</servlet-name>
    <servlet-class>com.mycorp.CatalogServlet</servlet-class>
    <init-param>
    <param-name>catalog</param-name>
    <param-value>Spring</param-value>
    </init-param>
    </servlet> <servlet-mapping>
    <servlet-name>catalog</servlet-name>
    <url-pattern>/catalog/*</url-pattern>
    </servlet-mapping> <session-config>
    <session-timeout>30</session-timeout>
    </session-config> <mime-mapping>
    <extension>pdf</extension>
    <mime-type>application/pdf</mime-type>
    </mime-mapping> <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    </welcome-file-list> <error-page>
    <error-code>404</error-code>
    <location>/404.html</location>
    </error-page>
    </web-app>
      

  13.   

    把 filter放在 前面之后,发现 起始页的设置 不管用了?怎么回事?
      

  14.   

    <!-- The Usual Welcome File List 配置起始页 -->
        <welcome-file-list>
            <welcome-file>index.jsp</welcome-file>
            <welcome-file>CustomerReg.jsp</welcome-file>
        </welcome-file-list>
    路径 就在webcontent根目录下面。
      

  15.   

    再试<?xml version="1.0" encoding="UTF-8"?>
    <web-app 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”
        version=”2.4”>
        <!-- 字符编码设定 -->
        <filter>
            <filter-name>characterFilter</filter-name>
            <filter-class>com.ghost.filter.CharFilter </filter-class>
        </filter>
        <filter-mapping>
            <filter-name>characterFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>    <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>
            <init-param>
                <param-name>debug</param-name>
                <param-value>3</param-value>
            </init-param>
            <init-param>
                <param-name>detail</param-name>
                <param-value>3</param-value>
            </init-param>
            <load-on-startup>0</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>action</servlet-name>
            <url-pattern>*.do</url-pattern>
        </servlet-mapping>    <!-- The Usual Welcome File List 配置起始页 -->
        <welcome-file-list>
            <welcome-file>index.jsp</welcome-file>
            <welcome-file>CustomerReg.jsp</welcome-file>
        </welcome-file-list>    <!-- The struts taglibs  -->
        <taglib>
          <taglib-uri>struts-html</taglib-uri>
            <taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location>
        </taglib>
        <taglib>
            <taglib-uri>struts-bean</taglib-uri>
            <taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location>
        </taglib>
        <taglib>
            <taglib-uri>struts-logic</taglib-uri>
            <taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location>
        </taglib>
        <taglib>
            <taglib-uri>struts-nested</taglib-uri>
            <taglib-location>/WEB-INF/tld/struts-nested.tld</taglib-location>
        </taglib>
        <taglib>
            <taglib-uri>struts-tiles</taglib-uri>
            <taglib-location>/WEB-INF/tld/struts-tiles.tld</taglib-location>
        </taglib>
    </web-app>
      

  16.   

    不懂,我一般用Eclpse自动生成的web.xml 然后稍加修饰。 你还是重新生成一个没有红色的,然后一点一点移植你的代码吧!估计和web.xml里的版本有关系。
      

  17.   

    <!--声明标签库 j2ee1.4 library /javax.servlet.jar/javax.servlet.resource/web-app_2_3.dtd--> 
    我直接把你的代码做成web.xml文件后,在IE中显示上面的那行有问题,去掉了之后就没问题了。
      

  18.   

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app 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”
        version=”2.4”>
        <!-- 字符编码设定 -->
        <filter>
            <filter-name>characterFilter</filter-name>
            <filter-class>com.ghost.filter.CharFilter </filter-class>
        </filter>
        <filter-mapping>
            <filter-name>characterFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>    <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>
            <init-param>
                <param-name>debug</param-name>
                <param-value>3</param-value>
            </init-param>
            <init-param>
                <param-name>detail</param-name>
                <param-value>3</param-value>
            </init-param>
            <load-on-startup>0</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>action</servlet-name>
            <url-pattern>*.do</url-pattern>
        </servlet-mapping>    <!-- The Usual Welcome File List 配置起始页 -->
        <welcome-file-list>
            <welcome-file>index.jsp</welcome-file>
            <welcome-file>CustomerReg.jsp</welcome-file>
        </welcome-file-list>    <!-- The struts taglibs  -->
        <taglib>
          <taglib-uri>struts-html</taglib-uri>
            <taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location>
        </taglib>
        <taglib>
            <taglib-uri>struts-bean</taglib-uri>
            <taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location>
        </taglib>
        <taglib>
            <taglib-uri>struts-logic</taglib-uri>
            <taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location>
        </taglib>
        <taglib>
            <taglib-uri>struts-nested</taglib-uri>
            <taglib-location>/WEB-INF/tld/struts-nested.tld</taglib-location>
        </taglib>
        <taglib>
            <taglib-uri>struts-tiles</taglib-uri>
            <taglib-location>/WEB-INF/tld/struts-tiles.tld</taglib-location>
        </taglib>
    </web-app>
    还是 有错误红色提示 ,另外我 环境 是 tomcat5.5
      

  19.   

    是的你元素的顺序不对吧。
    filter放在mapping后面
      

  20.   

        <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> 
            <init-param> 
                <param-name>debug </param-name> 
                <param-value>3 </param-value> 
            </init-param> 
            <init-param> 
                <param-name>detail </param-name> 
                <param-value>3 </param-value> 
            </init-param> 
            <load-on-startup>0 </load-on-startup> 
        </servlet> 
        <filter> 
            <filter-name>characterFilter </filter-name> 
            <filter-class>com.ghost.filter.CharFilter </filter-class> 
        </filter>     <filter-mapping> 
            <filter-name>characterFilter </filter-name> 
            <url-pattern>/* </url-pattern> 
        </filter-mapping>     <servlet-mapping> 
            <servlet-name>action </servlet-name> 
            <url-pattern>*.do </url-pattern> 
        </servlet-mapping>