差不多没分了,但还是希望好心人能帮俺解决。
问题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&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:
我的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&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()?
问题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&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,怎么改?
<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文件夹下
-XX:NewSize=361M -XX:MaxNewSize=361M -Xms1444M -Xmx1444M
前两个数值是后两个的1/4,或者直接加-Xmx1444M也可