读书人

SSH2整合的有关问题

发布时间: 2012-05-09 12:13:59 作者: rapoo

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
[解决办法]
探讨

Hibernate 包中asm.jar 与Spring中asm-2.2.2.jar 冲突。删除 asm.jar

[解决办法]
asm.jar冲突解决方法网上很多,删除一个

读书人网 >Java Web开发

热点推荐