MyEclipse6.6中编译后遇到如下问题:
严重: Exception starting filter struts2
file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/Myacesys/WEB-INF/classes/struts.xml:18:11
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:835)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:131)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:100)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:130)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)
at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:201)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: Attribute "name" is required and must be specified for element type "package". - file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/Myacesys/WEB-INF/classes/struts.xml:18:11
at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:123)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:830)
... 34 more
Caused by: org.xml.sax.SAXParseException: Attribute "name" is required and must be specified for element type "package".
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.addDTDDefaultAttrsAndValidate(Unknown Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.handleStartElement(Unknown Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(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 javax.xml.parsers.SAXParser.parse(Unknown Source)
at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:121)
... 35 more
2009-8-28 16:11:58 org.apache.catalina.core.StandardContext filterStart
那位大虾帮忙解决一下,谢谢

解决方案 »

  1.   

    Attribute "name" is required and must be specified for element type "package". 
      

  2.   

    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">
      <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
      <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>
       <filter> 
        <filter-name>Set Character Encoding</filter-name> 
        <filter-class>com.ascent.util.SetCharacterEncodingFilter</filter-class> 
      </filter> 
      <filter-mapping> 
        <filter-name>Set Character Encoding</filter-name>
        <url-pattern>/*</url-pattern> 
      </filter-mapping>
      <filter> 
            <filter-name>struts-cleanup</filter-name> 
            <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class> 
        </filter>
        <filter-mapping>
            <filter-name>struts-cleanup</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
       <servlet>
            <servlet-name>img</servlet-name>
            <servlet-class>com.ascent.util.AuthImg</servlet-class>
        </servlet>    <servlet-mapping>
            <servlet-name>img</servlet-name>
        <url-pattern>/authImg</url-pattern>
        </servlet-mapping>
     
      <welcome-file-list>
        <welcome-file>/index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>文件如下:
    package com.ascent.util;import java.io.IOException;
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.UnavailableException;/**
     * Example filter that sets the character encoding to be used in parsing the
     * incoming request
     */
    public class SetCharacterEncodingFilter implements Filter {    /**
         * Take this filter out of service.
         */
        public void destroy() {
        }
        /**
         * Select and set (if specified) the character encoding to be used to
         * interpret request parameters for this request.
         */
        public void doFilter(ServletRequest request, ServletResponse response,
        FilterChain chain)throws IOException, ServletException {    request.setCharacterEncoding("gb2312");    // 传递控制到下一个过滤器
        chain.doFilter(request, response);
        }    public void init(FilterConfig filterConfig) throws ServletException {
        }
    }
    怎么修改?
      

  3.   

     <filter> 
        <filter-name>Set Character Encoding </filter-name> 
        <filter-class>com.ascent.util.SetCharacterEncodingFilter </filter-class> 
      </filter> 
      <filter-mapping> 
        <filter-name>Set Character Encoding </filter-name> 
        <url-pattern>/* </url-pattern> 
      </filter-mapping> 
      <filter> 
            <filter-name>struts-cleanup </filter-name> 
            <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp </filter-class> 
        </filter> 
        <filter-mapping> 
            <filter-name>struts-cleanup </filter-name> 
            <url-pattern>/* </url-pattern> 
        </filter-mapping> 
    这两个放最前面去
      

  4.   

    Caused by: Attribute "name" is required and must be specified for element type "package". - file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/Myacesys/WEB-INF/classes/struts.xml:18:11 把你这个文件贴上来看看
      

  5.   

    是这个文件有不对的地方struts.xml
      

  6.   

    <?xml version="1.0" encoding="GBK"?>
    <!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd"><struts>


    <package name="ascenttech" extends="json-default">

    <action name="registCheckAction" class="com.ascent.action.RegistCheckAction">
    <result type="json"></result>
    </action>
    <action name="registAction" class="com.ascent.action.RegistAction">
    <result>/product/regist_succ.jsp</result>
    <result name="error">/product/register.jsp</result>
    </action>
    <action name="productuserLoginAction" class="com.ascent.action.ProductuserLoginAction">
    <result>/index.html</result>
    <result name="success_1">/product/products.jsp</result>
    <result name="success_2">/product/products.jsp</result>
    <result name="success_3">/product/products_showusers.jsp</result>
    <result name="error">/product/products.jsp</result>
    <result name="input">/product/products.jsp</result>
    </action>
    <action name="*ProductuserManagerAction" class="com.ascent.action.ProductuserManagerAction" method="{1}">
    <result></result>
    <result name="show_productusers">/product/products_showusers.jsp</result>
    <result name="updateproductuser">/product/updateproductuser.jsp</result>
    <result name="updateproductuser_error">/product/updateproductuser.jsp</result>
    <result name="changesuperuser_error">/product/changesuperuser.jsp</result>
    <result name="error">/product/products.jsp</result>
    <result name="admin_order_productuser">/product/admin_orderuser.jsp</result>
    </action>
    <action name="productIdCheckAction" class="com.ascent.action.ProductIdCheckAction">
    <result type="json"></result>
    </action>
    <action name="*ProductManagerAction" class="com.ascent.action.ProductManagerAction" method="{1}">
    <!-- 配置fileUpload拦截器 -->
    <interceptor-ref name="fileUpload">
    <!-- 设置上传文件类型 -->
    <param name="allowedTypes">image/bmp,image/png,image/jpg,image/gif,application/vnd.ms-excel </param>
    <!-- 设置上传文件大小 -->
    <param name="maximumSize">200000</param>
    </interceptor-ref>
    <!-- 必须显示配置引用struts默认的拦截器栈:defaultStack -->
    <interceptor-ref name="defaultStack"></interceptor-ref>
    <!-- 设置上传路径 -->
    <param name="savePath">/upload</param>
    <result name="adminproductsshow">/product/admin_products_show.jsp</result>
    <result name="saveOnesuccess">/product/admin_products_show.jsp</result>
    <!-- 必须设置input逻辑视图,拦截器默认出错返回input -->
    <result name="input">/product/upload_error.jsp</result>
    <result name="updateProduct">/product/update_products_admin.jsp</result>
    <result name="guestproductsshow">/product/products_show.jsp</result>
    <result name="searchproductshow">/product/products_search_show.jsp</result>
    <result name="userproducts">/product/userproducts_show.jsp</result>
    <result name="index">/index.jsp</result>
    <result name="productdetail">/product/productdetail.jsp</result>
    </action>
    <action name="*CartManagerAction" class="com.ascent.action.CartManagerAction" method="{1}">
    <result name="cartshow">/product/cartshow.jsp</result>
    </action>
    <action name="*OrdersManagerAction" class="com.ascent.action.OrdersManagerAction" method="{1}">
    <result name="checkoutsucc">/product/checkoutsucc.jsp</result>
    <result name="ordershow">/product/ordershow.jsp</result>
    <result name="adminordershow">/product/admin_ordershow.jsp</result>
    </action>
    <action name="*OrderitemManagerAction" class="com.ascent.action.OrderitemManagerAction" method="{1}">
    <result name="orderitemshow">/product/orderitem_show.jsp</result>

    </action>
    <action name="*MailManagerAction" class="com.ascent.action.MailManagerAction" method="{1}">
    <result name="addmailsucc">/product/mailmanager_succ.jsp</result>
    <result name="addmailfail">/product/mailmanager_fail.jsp</result>
    </action>
    <action name="userProductAddAction" class="com.ascent.action.UserProductAddAction">
    <result type="json"></result>
    </action>
    <action name="clearSession" class="com.ascent.action.ClearSessionAction">
    <result>/index.jsp</result>
    </action>
    </package>

    <constant name="struts.devMode" value="true"/>

    <constant name="struts.custom.i18n.resources" value="properties/myMessages"/>

    <constant name="struts.i18n.encoding" value="GBK"/>

    <constant name="struts.multipart.parser" value="jakarta"/>

    <constant name="struts.objectFactory.spring.autoWire" value="name"/>
    </struts>