严重: Servlet /BBS threw load() exception
javax.servlet.UnavailableException: class "org.apache.commons.collections.ArrayStack"'s signer information does not match signer information of other classes in the same package
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:402)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4364)
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:924)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:887)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
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)
2009-2-22 20:29:48 org.apache.catalina.core.StandardContext addApplicationListener
信息: The listener "listeners.ContextListener" is already configured for this context. The duplicate definition has been ignored.
2009-2-22 20:29:48 org.apache.catalina.core.StandardContext addApplicationListener
信息: The listener "listeners.SessionListener" is already configured for this context. The duplicate definition has been ignored.
2009-2-22 20:29:48 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2009-2-22 20:29:48 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
2009-2-22 20:29:49 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8088
2009-2-22 20:29:49 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2009-2-22 20:29:49 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/31  config=null
2009-2-22 20:29:49 org.apache.catalina.startup.Catalina start
信息: Server startup in 20601 ms

解决方案 »

  1.   


    <?xml version="1.0" encoding="gb2312"?>
    <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans-2.5.xsd" 
    >
    applicationContext.xml
    <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
    <ref bean="dataSource"/>
    </property>
    <property name="mappingResources">
    <list>
    <value>com/davyshuai/person/model/Person.hbm.xml</value>
    </list>
    </property>
    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop>
    </props>
    </property>
    </bean>
    <bean id="dataSource"
    class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName"
    value="org.gjt.mm.mysql.Driver">
    </property>
    <property name="url" value="jdbc:mysql://localhost:3306/bbs"></property>
    <property name="username" value="root"></property>
    <property name="password" value="root"></property>
    </bean>
    <bean id="personDao"
    class="com.davyshuai.person.dao.hibernateimpl.PersonDaoHibernate"
    abstract="false" lazy-init="default" autowire="default"
    dependency-check="default">
    <property name="sessionFactory">
    <ref bean="sessionFactory" />
    </property>
    </bean>
    <bean id="personManager"
    class="com.davyshuai.person.service.impl.PersonManagerImpl"
    abstract="false" lazy-init="default" autowire="default"
    dependency-check="default">
    <property name="personDao">
    <ref bean="personDao" />
    </property>
    </bean></beans>
    action-servlet.xml
    <?xml version="1.0" encoding="gb2312"?>
    <beans
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
    <bean name="/person"
    class="com.davyshuai.web.struts.action.PersonAction" abstract="false"
    lazy-init="default" autowire="default" dependency-check="default" >
    <property name="personManager">
    <ref bean="personManager" />
    </property>
    </bean>

    </beans>struts-config.xml<?xml version="1.0" encoding="gb2312"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd"><struts-config>
      <form-beans >
        <form-bean name="personForm" type="org.apache.struts.validator.DynaValidatorForm">
          <form-property name="phone" type="java.lang.String" />
          <form-property name="sex" type="java.lang.String" />
          <form-property name="password" type="java.lang.String" />
          <form-property name="age" type="java.lang.String" />
          <form-property name="address" type="java.lang.String" />
          <form-property name="username" type="java.lang.String" />
          <form-property name="pdate" type="java.lang.String" />
          <form-property name="email" type="java.lang.String" />
          <form-property name="cnname" type="java.lang.String" />
          <form-property name="qq" type="java.lang.String" />
          <form-property name="id" type="java.lang.String" />
        </form-bean>  </form-beans>  <global-exceptions />
      <global-forwards >
      <forward name="person.display" path="/display.jsp"></forward>
      </global-forwards>
      
      <action-mappings >
        <action
          attribute="personForm"
          input="/input.jsp"
          name="personForm"
          parameter="method"
          path="/person"
          scope="request"
          type="org.springframework.web.struts.DelegatingActionProxy"  validate="false" />
            </action-mappings>  <message-resources parameter="com.davyshuai.web.struts.ApplicationResources" />
      
      <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
       <set-property property="pathnames" value="/org/apache/struts/validator/validator-rules.xml,/WEB-INF/validations.xml" />
    </plug-in>
       
       <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
        <set-property property="contextConfigLocation" value="/WEB-INF/action-servlet.xml" />
       </plug-in>  
    </struts-config>
    web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
    <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
    <param-name>forceEncoding</param-name>
    <param-value>true</param-value>
    </init-param>
    </filter><context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param><filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping><listener>   
         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>   
    </listener>     <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>
      <welcome-file-list>
        <welcome-file>input.jsp</welcome-file>
      </welcome-file-list>
    </web-app>