差不多没分了,但还是希望好心人能帮俺解决。
问题1:
       我的applicationContext.xml放在WEB-INF目录下,在web.xml应该怎样配置,如果放在src目录下又怎样配置?但我无论放在哪里都没能以set方法成功注入,只能通过new FileSystemXmlApplicationContext或new ClassPathXmlApplicationContext("applicationContext.xml")来getBean获取。
       我在web.xml里配置:
  <context-param>
    <param-name>contextConfigLocation </param-name>
        <!--三种都不行-->
     <!-- <param-value>/WEB-INF/classes/applicationContext.xml </param-value> -->
     <!-- <param-value>WEB-INF/:applicationContext.xml, </param-value> -->
     <param-value>/WEB-INF/applicationContext.xml,/WEB-INF/applicationContext_*.xml</param-value>
</context-param>  
问题2(内存相关):
我在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"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url">
<value>jdbc:mysql://localhost:3306/userinfo?useUnicode=true&amp;characterEncoding=UTF-8</value>
</property>
<property name="username" value="root"/>
<property name="password" value="666666"/>

</bean>

<!--配置Hibernate-->
      <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
      <!--指定数据源-->
      <property name="dataSource">
      <ref bean="dataSource" />
      </property>
      <!--给出映射文件资源-->
      <property name="mappingResources">
      <list>
      <value>dlr/entity/User.hbm.xml</value>
      </list>
      </property>
     
      <!--定义hibernate配置属性-->
      <property name="hibernateProperties">
      <props>
      <prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
      <prop key="hibernate.show_sql">
          true
      </prop>     
      </props>     
      </property>
      </bean> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
         <ref bean="sessionFactory"/>
     </property>
</bean> 
<!-- 配置User持久化类的DAO Bean,在其中引用sessionFactory Bean -->
<bean id="userDao" class="dlr.dao.UserDaoImpl">
    <property name="hibernateTemplate">
        <ref bean="hibernateTemplate"/>
    </property>
</bean> <bean id="userService"  class="dlr.service.UserServiceImpl">
<property name="userDao">
         <ref bean="userDao"/>
     </property>
</bean>
<bean id="userAction"  class="dlr.action.UserAction">
<property name="userService">
         <ref bean="userService"/>
     </property>
</bean>

</beans>蓝色部分加上去会出错,好像是Tomcat、内存相关的问题-->java.lang.OutOfMemoryError: Java heap space
听说在
手动设置Heap size
修改TOMCAT_HOME/bin/catalina.bat,在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:
Java代码
set JAVA_OPTS=%JAVA_OPTS% -server -Xms800m -Xmx800m -XX:MaxNewSize=256m  set JAVA_OPTS=%JAVA_OPTS% -server -Xms800m -Xmx800m -XX:MaxNewSize=256m 
但在我tomcat6.0/bin目录下,却找不到catalina.bat,怎么改?问题3:
SSH整合时,连接过多会显示too many Connection,用jdbc时出现这个问题是,可以用ptmt.close()、con.close()就可以解决,但用SSH时怎样关掉连接呢?用Spring配置还是在连接里面用session.close()?

解决方案 »

  1.   

    这三个问题困扰已久,希望高手帮帮忙!
    问题2重写:
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
            <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
            <property name="url">
                <value>jdbc:mysql://localhost:3306/userinfo?useUnicode=true&amp;characterEncoding=UTF-8</value>
            </property>
            <property name="username" value="root"/>
            <property name="password" value="666666"/>        
                
        </bean>
        
        <!--配置Hibernate-->
             <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
                 <!--指定数据源-->
                 <property name="dataSource">
                     <ref bean="dataSource" />
                 </property>
                 <!--给出映射文件资源-->
                 <property name="mappingResources">
                     <list>
                         <value>dlr/entity/User.hbm.xml</value>
                     </list>
                 </property>
                 
                 <!--定义hibernate配置属性-->
                 <property name="hibernateProperties">
                     <props>
                         <prop key="hibernate.dialect">
                            org.hibernate.dialect.MySQLDialect
                        </prop>
                         <prop key="hibernate.show_sql">
                             true
                         </prop>         
                     </props>         
                 </property>
             </bean>    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
            <property name="sessionFactory">
                <ref bean="sessionFactory"/>
            </property>
        </bean> 
    <!-- 配置User持久化类的DAO Bean,在其中引用sessionFactory Bean -->
    <bean id="userDao" class="dlr.dao.UserDaoImpl">
        <property name="hibernateTemplate">
            <ref bean="hibernateTemplate"/>
        </property>
    </bean>    <bean id="userService"  class="dlr.service.UserServiceImpl">
            <property name="userDao">
                <ref bean="userDao"/>
            </property>
        </bean>
        <bean id="userAction"  class="dlr.action.UserAction">
            <property name="userService">
                <ref bean="userService"/>
            </property>
        </bean>

        </beans>
    红色部分加上去会出错,好像是Tomcat、内存相关的问题-->java.lang.OutOfMemoryError: Java heap space
    听说在
    手动设置Heap size
    修改TOMCAT_HOME/bin/catalina.bat,在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:
    Java代码
    set JAVA_OPTS=%JAVA_OPTS% -server -Xms800m -Xmx800m -XX:MaxNewSize=256m  set JAVA_OPTS=%JAVA_OPTS% -server -Xms800m -Xmx800m -XX:MaxNewSize=256m 
    但在我tomcat6.0/bin目录下,却找不到catalina.bat,怎么改?
      

  2.   

    问题1:
     <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
             classpath:applicationContext.xml
        </param-value>
      </context-param> 
      
      <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
      </listener>
    applicationContext.xml
    放在src目录下,部署之后直接在classes文件夹下
      

  3.   

    问题2:你这样试一下Window --> Proference --> Java --> Install JREs --> EDIT --> Default VM Arguments 加上如下:
    -XX:NewSize=361M -XX:MaxNewSize=361M -Xms1444M -Xmx1444M
    前两个数值是后两个的1/4,或者直接加-Xmx1444M也可
      

  4.   

    谢谢,但都不行。我用了这个,在UserAction里面用set方法还是注入不了userService
      

  5.   

    这个我很感兴趣,我用的是MyEclipse8.6的,Window --> Proference --> Java --> Install JREs这部就没了。看不到EDIT --> Default VM 这里
      

  6.   

    问题2 呵呵,我找到了。至于问题1,用你的不错,但是userAction还是注入userService不成功