SSH2整合的问题
这些全是MyEclipse里导的
spring 我是导入了Spring 2.0 AOP , Core , Persistence Core和web libraries
然后hibernate导的是core和advanced support包
然后struts2导的是struts core 和 struts-spring-plugin包
还有另外的两个 commons-pool.jar 和 commons-dbcp.jar
之后配置了一个web.xml文件如下
- XML code
<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"><display-name></display-name> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/classes/applicationContext.xml</param-value></context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
applicationContext.xml的文件内容如下
- XML code
<?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"> <property name="driverClassName" value="com.mysql.jdbc.Driver"> </property> <property name="url" value="jdbc:mysql://localhost:3306/ssh2test"> </property> <property name="username" value="root"></property> <property name="password" value="123456"></property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="mappingResources"> <list> <value>User.hbm.xml</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> </props> </property> </bean></beans>
然后还有一个User.hbm.xml
- XML code
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!-- Mapping file autogenerated by MyEclipse Persistence Tools--><hibernate-mapping package="com.zjj.util"> <class name="User" table="user" catalog="demo"> <id name="id" type="java.lang.Integer"> <column name="id" /> <generator class="increment"></generator> </id> <property name="userName" type="java.lang.String"> <column name="userName" length="20" /> </property> <property name="password" type="java.lang.String"> <column name="password" length="20" /> </property> </class></hibernate-mapping>
又写了一个简单的User.java文件 只有id userName 和 password
然后发布运行启动Tomcat服务器的时候报错 错误信息如下文
[解决办法]
Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Invocation of init method failed;
http://blog.csdn.net/luo_yifan/article/details/5724461
nested exception is java.lang.OutOfMemoryError: PermGen space
http://www.cnblogs.com/chenzhao/archive/2011/07/14/2106000.html
[解决办法]
检查Myeclipse帮你导入的jar包。
struts2必须JAR包(6个):
struts2-spring-plugin-2.0.11.2.jar
xwork-2.0.5.jar
struts2-core-2.0.11.2.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
commons-logging-1.0.4.jar(与hibernate3.2必须JAR包重复,取一个既可)
hibernate3.2必须JAR包(8个):
antlr-2.7.6.jar
commons-collections-2.1.1.jar
commons-logging-1.0.4.jar
dom4j-1.6.1.jar
ehcache-1.2.3.jar
hibernate3.jar
jta.jar
log4j-1.2.11.jar
spring2.5必须JAR包(5个):
spring.jar
asm-2.2.2.jar (*)
asm-commons-2.2.2.jar (*)
asm-util-2.2.2.jar (*)
cglib-nodep-2.1_3.jar (*)
以上四个标*的jar包,hibernate,spring都有提供,但是一定要用spring下的,不然当部署到tomcat下,就会包那个错。你试试
[解决办法]
Hibernate 包中asm.jar 与Spring中asm-2.2.2.jar 冲突。删除 asm.jar
[解决办法]
[解决办法]
asm.jar冲突解决方法网上很多,删除一个