2008-9-24 11:21:22 org.apache.catalina.core.ApplicationContext log
信息: Initializing WebApplicationContext for Struts ActionServlet 'action', module ''
2008-9-24 11:21:23 org.apache.catalina.core.ApplicationContext log
严重: action: null
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: Name mysql is not bound in this Context
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1336)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:471)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:220)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
at org.springframework.web.struts.ContextLoaderPlugIn.createWebApplicationContext(ContextLoaderPlugIn.java:354)
at org.springframework.web.struts.ContextLoaderPlugIn.initWebApplicationContext(ContextLoaderPlugIn.java:295)
at org.springframework.web.struts.ContextLoaderPlugIn.init(ContextLoaderPlugIn.java:225)
at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:871)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:359)
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(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:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: javax.naming.NameNotFoundException: Name mysql is not bound in this Context
at org.apache.naming.NamingContext.lookup(NamingContext.java:770)
at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
at org.apache.naming.SelectorContext.lookup(SelectorContext.java:137)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:132)
at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:88)
at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:130)
at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:155)
at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:95)
at org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:105)
at org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(JndiObjectFactoryBean.java:193)
at org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:179)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1367)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1333)
... 44 more
2008-9-24 11:21:23 org.apache.catalina.core.ApplicationContext log
信息: Marking servlet action as unavailable
2008-9-24 11:21:23 org.apache.catalina.core.StandardContext loadOnStartup
严重: Servlet /SSH threw load() exception

解决方案 »

  1.   

    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">
      <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>com.william.app.web.action.base.MyActionServlet</servlet-class>
        
        <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>index.jsp</welcome-file>
      </welcome-file-list>
     
      <context-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>
       /WEB-INF/classes/applicationContext.xml,
       /WEB-INF/classes/daoContext.xml,
       /WEB-INF/classes/actionContext.xml 
       </param-value>
      </context-param>
      <listener>
       <listener-class>
       org.springframework.web.context.ContextLoaderListener
       </listener-class>
      </listener>
      <!-- dwr 框架的应用 -->
      <servlet>
       <servlet-name>dwr</servlet-name>
       <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
       <init-param>
       <param-name>debug</param-name>
       <param-value>true</param-value>
       </init-param>
      </servlet>
      <servlet-mapping>
       <servlet-name>dwr</servlet-name>
       <url-pattern>/dwr/*</url-pattern>
      </servlet-mapping>
    </web-app>
      

  2.   

    struts-config.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!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="studentForm"
    type="com.william.app.web.form.StudentForm" />
    <form-bean name="questionForm"
    type="com.william.app.web.form.QuestionForm" />
    <form-bean name="adminLoginForm"
    type="com.william.app.web.form.AdminLoginForm" />
    <form-bean name="examTypeForm"
    type="com.william.app.web.form.ExamTypeForm" /> </form-beans> <global-exceptions>
    <exception type="com.william.app.comm.MyException"
    key="exceptionInfo" path="/WEB-INF/commjsp/error.jsp">
    </exception>
    <!-- 
    <exception
    type="java.lang.Exception"
    key="exceptionInfo"
    path="/WEB-INF/commjsp/error.jsp">
    </exception>
    -->
    </global-exceptions> <global-forwards>
    <forward name="returnPag" path="/commjsp/return.jsp"></forward>
    <forward name="toAdminLogin" path="/jsp/login.jsp"></forward>
    <forward name="toLoginExam" path="/jsp/loginExam.jsp"></forward>
    </global-forwards>
    <action-mappings>
    <!-- 公共部分 --> <!-- 空跳转部分 -->
    <action path="/preAddStu" forward="/jsp/addStudent.jsp"></action>
    <action path="/preAddExamType" forward="/jsp/addExamType.jsp"></action>
    <action path="/toAdminLogin" forward="/jsp/login.jsp"/>
    <action path="/toExamLogin" forward="/jsp/loginExam.jsp"/>
    <!-- 前台部分 --> <!-- 处理考生登录 -->
    <action attribute="studentForm" input="/jsp/loginExam.jsp"
    name="studentForm" path="/stuLogin" scope="request"> <forward name="prepareExam" path="/jsp/prepare.jsp"></forward>
    <forward name="return" path="/jsp/loginExam.jsp"></forward>
    </action> <!-- 开始答卷 -->
    <action attribute="questionForm" input="/jsp/prepare.jsp"
    name="questionForm" path="/begin" scope="request"> <forward name="examMain" path="/jsp/examMain.jsp"></forward>
    </action> <!--正在答卷  -->
    <action attribute="questionForm" input="/jsp/examMain.jsp"
    name="questionForm" path="/exam" scope="request"> <forward name="examMain" path="/jsp/examMain.jsp"></forward>
    <forward name="finish" path="/finish.do"></forward> </action> <!-- 答卷完成 -->
    <action attribute="questionForm" name="questionForm"
    path="/finish" scope="request"> <forward name="showReslut" path="/jsp/show.jsp"></forward>
    </action>
    <action path="/loginOut"
    type="com.william.app.web.action.LoginOutAction">
    <forward name="loginExam" path="/jsp/loginExam.jsp"></forward>
    </action> <!-- 后台部分 --> <!-- 管理员管理部分 -->
    <action attribute="adminLoginForm" input="/jsp/adminLogin.jsp"
    name="adminLoginForm" path="/adminLogin" scope="request"
    type="com.william.app.web.action.AdminLoginAction"> <forward name="adminMain" path="/jsp/adminMain.jsp"></forward> </action> <!-- 考生管理部分 -->
    <action attribute="studentForm" name="studentForm"
    parameter="operator" path="/student" scope="request"> <forward name="toAdminMain" path="/jsp/adminMain.jsp"></forward>
    <forward name="listStudent" path="/jsp/listStudent.jsp"></forward>
    <forward name="tolistStu"
    path="/student.do?operator=listStu" />
    </action> <!-- 试题管理部分 -->
    <action attribute="questionForm" input="/jsp/adminMain.jsp"
    name="questionForm" path="/question" scope="request" validate="false"
    parameter="operator"> <forward name="listQuestion" path="/jsp/listQuestion.jsp" />
    <forward name="toListQues"
    path="/question.do?operator=listQues" />
    <forward name="toAddQues" path="/jsp/addQuestion.jsp"></forward>
    <forward name="toPreAddQues" path="/question.do?operator=preAddQues"></forward>
    </action>


    <action attribute="examTypeForm" name="examTypeForm"
    parameter="operator" path="/examType" scope="request"
    type="com.william.app.web.action.ExamTypeAction" validate="false" >

    <forward name="toPreAddExamType" path="/preAddExamType.do"></forward>
    </action>
    </action-mappings> <!-- STURTS SPRING 代理控制 -->
    <controller
    processorClass="org.springframework.web.struts.DelegatingRequestProcessor">
    </controller> <!-- 国际化资源部分 -->
    <message-resources
    parameter="com.william.app.web.ApplicationResources" /> <!-- 插件:文件加载初始化 -->
    <!--  
    <plug-in
    className="org.springframework.web.struts.ContextLoaderPlugIn">
    <set-property property="contextConfigLocation"
    value="/WEB-INF/classes/applicationContext.xml,/WEB-INF/classes/daoContext.xml,/WEB-INF/classes/actionContext.xml" />
    </plug-in>
        --></struts-config>
      

  3.   

    applicationContext.xml<?xml version="1.0" encoding="UTF-8"?>
    <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">  <!--数据库映射,建立sessionFactory  -->
    <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="configLocation"
    value="classpath:hibernate.cfg.xml">
    </property>
    </bean>
    <!-- dataSource sessionFactory dao biz action -->    <!-- 业务逻辑接口的映射 -->
    <bean id="service" class="com.william.app.biz.impl.ServiceImpl">
    <property name="adminDao" ref="adminDao"/>
    <property name="examtypeDao">
    <ref bean="examtypeDao" />
    </property>
    <property name="questionDao">
    <ref bean="questionDao" />
    </property>
    <property name="studentDao">
    <ref bean="studentDao" />
    </property>
    </bean>

    <!-- 事务管理-->
    <bean id="transactionManager"
    class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory">
    <ref bean="sessionFactory" />
    </property>
    </bean>

    <!-- 定义事务传播属性,以便拦截 -->
    <bean id="transactionInterceptor"
    class="org.springframework.transaction.interceptor.TransactionInterceptor">
    <property name="transactionManager" ref="transactionManager"/>
    <property name="transactionAttributes">
    <props>
    <prop key="insert*">PROPAGATION_REQUIRED</prop>
    <prop key="update*">PROPAGATION_REQUIRED,readOnly</prop>
    <prop key="*">PROPAGATION_REQUIRED</prop>
    </props>
    </property>
    </bean>

    <!-- 自动创建代理器 代理DAO-->
    <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator" >
    <property name="beanNames">
    <list>
    <value>service</value>
    </list>
    </property>
    <property name="interceptorNames">
    <list>
    <value>transactionInterceptor</value>
    </list>
    </property>
    </bean>


    <bean id="logAdvice" class="com.william.app.comm.LogAdvice"/>

    <bean id="ssevice"
    class="org.springframework.aop.framework.ProxyFactoryBean">

    <property name="proxyInterfaces">
    <value>
    com.william.app.biz.IService
    </value>
    </property>
    <property name="interceptorNames">
    <list>
    <value>
    logAdvice
    </value>
    </list>
    </property>

    <property name="target" ref="service"/>
    </bean></beans>

















      

  4.   

    Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: Name mysql is not bound in this Context 你用的是mysql,而且数据源是在hibernate.cfg.xml里配的。
    在src下写个class
          public static void main(String[] rags){
         ApplicationContext app=new ClassPathXmlApplication("applicationContext.xml");
             System.out.println(app.getBean("sessionFactory"));
          }
    如过成功不了的话,说明你的hibernate.cfg.xml有问题。最抑郁的事到现在你还不知道那个文件出了问题!你应该一个个文件测,找到那个文件出了问题,然后再把文件里的东西注释掉,
    看看到底那个配置错了,再跟据错的配置找到相应的类,再解决掉它。
      

  5.   

    支持楼上的.
    把hibernate.cfg.xml贴出来贴出来.我有一个疑问,配置JNDI数据源一般不是在Tomcat的server.xml里配置的吗?
      

  6.   

    建立sessionFactory  
    dataSource我没有找到
    在那?
      

  7.   

    我知道你的问题出在哪了:
          你的.jar文件中少了一个common.pool文件