struts2+hibernate+spring3整合报错404

kanghao1026 2012-04-22 05:53:18
struts2+hibernate+spring3整合,tomcat启动没问题,就是运行后显示页面无法找到(404),之前没有将hibernate整合进来的时候没有问题,就是整合了hibernate后才这样的。上网找了一些解决方案好像说的是映射文件的错,我也照着改了可是问题依旧,还请各位大侠帮帮忙啊!!
【User.hbm.xml】
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.mys2sh.entity.User" table="user">
<!-- id元素定义持久化类的标识属性(主键) -->
<id name="userId" type="java.lang.Integer">
<column name="userId"></column>
<!-- 主键生成策略 -->
<generator class="native"/>
</id>
<many-to-one name="business" class="com.mys2sh.entity.Business" fetch="select" lazy="false">
<column name="businessid" not-null="true" />
</many-to-one>
<!-- 映射普通属性(非主键列) -->
<property name="name" type="java.lang.String" not-null="true" length="50">
<column name="name"/>
</property>
<property name="password" type="java.lang.String" not-null="true" length="50">
<column name="password"></column>
</property>
<property name="sex" type="java.lang.Integer" not-null="true">
<column name="sex"></column>
</property>

</class>
</hibernate-mapping>
【Business.hbm.xml】
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.mys2sh.entity.Business" table="business" catalog="bbs">
<!-- 映射主键 -->
<id name="businessid" type="java.lang.Integer">
<column name="businessid"/>
<generator class="native"></generator>
</id>
<!-- 映射普通属性 -->
<property name="name" type="java.lang.String" not-null="true" length="50">
<column name="name"/>
</property>
<set name="users" inverse="true">
<key>
<column name="businessid" not-null="true" />
</key>
<one-to-many class="com.mys2sh.entity.User" />
</set>
</class>
</hibernate-mapping>
【applicationContext.xml】

<?xml version="1.0" encoding="gbk"?>

<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- 配置c3p0为数据源 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.CombopooledDataSource"
destroy-method="close">
<!-- 指定数据库驱动 -->
<property name="driverClass" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<!-- 指定连接数据库的URL -->
<property name="jdbcUrl" value="jdbc:microsoft:sqlserver://localhost:8080;DatabaseName=BBS"/>
<!-- 数据库用户名 -->
<property name="user" value="sa"/>
<!-- 密码 -->
<property name="password"></property>
<!-- 连接池最小连接数 -->
<property name="minPoolSize" value="1"/>
<!-- 最大连接数 -->
<property name="maxPoolSize" value="40"/>
<!-- 连接池初始化连接数 -->
<property name="initialPoolSize" value="1"/>
<!-- 连接的最大空闲时间 -->
<property name="maxIdleTime" value="20"/>
</bean>
<!-- 定义hibernate的sessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="mappingResource">
<!-- 列出所有po的映射文件 -->
<list>
<value>com/mys2sh/entity/User.hbm.xml</value>
<value>com/mys2sh/entity/Business.hbm.xml</value>
</list>
</property>
<!-- 设置Hibernate属性 -->
<property name="hibernateProperties">
<value>
<!-- 在hibernate.jar包中找 -->
hibernate.dialect=org.hibernate.dialect.SQLServer2005Dialect
hibernate.hbm2ddl.auto=update
</value>
</property>
</bean>
<!-- 配置dao -->
<bean id="userDao" class="com.mys2sh.dao.impl.UserDaoImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- 配置biz -->
<bean id="userBiz" class="com.mys2sh.biz.impl.UserBiz">
<property name="userDao" ref="userDao"></property>
</bean>
<!-- 配置Action -->
<bean id="LoginAction" class="com.mys2sh.action.LoginAction"
scope="prototype">
<property name="biz" ref="userBiz"/>
</bean>
</beans>
...全文
253 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fw347969680 2012-04-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

报错信息呢 ?
[/Quote]

同问。
五哥 2012-04-23
  • 打赏
  • 举报
回复
报错信息呢 ?
蛋疼的IT 2012-04-23
  • 打赏
  • 举报
回复
你要删除一些包。还有加入一些包。
kanghao1026 2012-04-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

报错信息呢 ?
[/Quote]
现在新问题出现了,c3p0数据源死锁了~
kanghao1026 2012-04-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

你要删除一些包。还有加入一些包。
[/Quote]
包没有冲突,都是手动复制到lib目录下的,没用MyEclipse自动生成框架支持。
kanghao1026 2012-04-23
  • 打赏
  • 举报
回复
这个问题解决了,不过又有新的问题了,c3p0死锁了,我试了网上介绍的方法:<property name="maxStatements" value="0"/>,可是问题依旧啊~
最近温习ssh2整合编程,顺便浏览下struts2有什么更新的消息,下载了新版本的struts2的2.1.8.1版,使用的是MyEclipse8.0开发,但是问题就随之而来了。MyEclipse8.0中自带的struts2版本是2.1.6,spring版本有2.0,2.5的,hibernate版本较多些至3.2,首先选版本就选择最优的,struts2没的选只有2.1.6版的,所以先导入struts2支持,然后是spring选的是2.0,问题就出在struts2spring的插件上了,没有从MyEclipse8.0中导入2.1.6版本的包,而是选择我本地的一个2.1.8.1版本的包,问题就出来了,报dispatcher 不能初始化,找不到类;更换ok!另外的问题就是springhibernate整合的问题了,当时也是一股脑的将hibernatespring的包全导入进来,然后发布,启动tomcat,查看报错的问题,这个方面到没有出现版本差异的问题,典型的就是缺包,然后报找不到类,添加进来就行了啊!这个就不再详述,具体请看下面,经过详细排查,终于分析完毕相关包的作用,并整理完一套完整的包(由于大小问题没有上传,附图): struts2的包必须版本一致 不能即用2.1.6的包 又用到了2.1.8的包 ,其他版本类似。 另外三大框架的添加顺序也需要注意下,我的添加顺序是 struts2.1.6、spring2.0、hibernate3.2 spring版本差异(包方面)没有研究过,大致雷同,也应该保持版本一致,即在同一个稳定发行包中下载的包。 以下包后面跟的数字意思:(带*号为可选包,根据需要额外增加) 0 一些基本的包需要添加 删除需慎重; 1 spring的相关包,先添加struts2.0的支持时标记的包; 2 struts2的相关包;以struts2-core-2.1.6版本为准; 注:struts2-core-2.1.8有较大变化需要注意替换相关包,注意尾号尽量不要是单号 例子:xwork-2.1.2.jar在2.1.8中xwork-core-2.1.6.jar 具体啥问题没测过 3 hibernate3相关包 antlr-2.7.2.jar //2 aopalliance-1.0.jar //2 asm-attrs.jar //3 asm.jar // 3 cglib-2.1.3.jar //3 commons-beanutils-1.7.0.jar //2 commons-chain-1.2.jar //2 commons-codec-1.3.jar //0 commons-collections-3.1.jar //2 commons-digester-1.8.jar //2 commons-el-1.0.jar //2 * commons-fileupload-1.1.1.jar //2 commons-io-1.1.jar //2 commons-lang-2.1.jar //2 commons-logging-1.0.4.jar //2 commons-logging-api-1.1.jar //2 * commons-validator-1.3.1.jar //2 derbyclient.jar //3 dom4j-1.6.1.jar //3 ehcache-1.2.3.jar //3* ejb3-persistence.jar //3 freemarker-2.3.13.jar //2 hibernate3.jar //3 hibernate-annotations.jar //3 hibernate-commons-annotations.jar //3 hibernate-entitymanager.jar //3 hibernate-validator.jar //3 jaas.jar //3 javassist.jar //3 jaxen-1.1-beta-7.jar //3 jboss-archive-browsing.jar //3 * jdbc2_0-stdext.jar //3 jta.jar //3 jstl-1.1.0.jar //0 json-lib-2.1.jar //2* junit-3.8.2.jar //0 * log4j-1.2.9.jar //0 ognl-2.6.11.jar //2 oro-2.0.8.jar //2 sitemesh-2.4.2.jar //2* spring-beansjar //1 spring-context.jar //1 spring-core.jar //1 spring-dao.jar //3 spring-hibernate3.jar //3 spring-jdbc.jar //3 spring-web-2.5.6.jar //1 struts2-core-2.1.6.jar //2 struts2-convention-plugin-2.1.6.jar //2* struts2-spring-plugin-2.1.6.jar //1 xwork-2.1.2.jar //2 xerces-2.6.2.jar //3 xml-apis.jar //3 注:以下包为数据源连接池 相关 用到那个添加相应的包 c3p0-0.9.1.2.jar //3 commons-pool.jar //3 commons-dbcp.jar //3

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧