首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

ssh调整(转)

2012-06-26 
ssh整合(转)终于,终于将SSH整合成功了,弄了几个小时,可以休息了(有的朋友弄了半个月,甚至重装了系统也没弄

ssh整合(转)

终于,终于将SSH整合成功了,弄了几个小时,可以休息了(有的朋友弄了半个月,甚至重装了系统也没弄好,哎,庆幸啊)。碰到问题千万不要放弃,要相信没有解决不了的问题!

项目结构图:

ssh调整(转)???????className="org.springframework.web.struts.ContextLoaderPlugIn">
ssh调整(转)???????<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" />
ssh调整(转)</plug-in>

第二,修改struts-config.xml中action节点的配置信息,将原来定义的
<action path="/validateUser"
??? type="com.wuwei.struts.action.ValidateUserAction" name="userForm">
??? <forward name="success" path="/success.jsp"></forward>
??? <forward name="fail" path="/fail.jsp"></forward>
?? </action>
中的type改为: type="org.springframework.web.struts.DelegatingActionProxy">或者你也可以不改,而在<plug-in>标签前加入如下定义

<!-- 加上controller就不用再配置action的type属性了/或者说type属性不用改为
?? type="org.springframework.web.struts.DelegatingActionProxy" -->
<controller
?? processorref="userDao" />

</bean>

当然,这里ref(引用)的Bean userDao也是在applicationContext.xml中己定义好的

<!-- 通过HibernateDaoSupport来操作数据库,需要植入sessionFactory
?? UserDao继承自HibernateDaoSupport
-->
<bean id="userDao" ref="sessionFactory" />
</bean>

相关的配置文件、类文件详细信息,请参看Struts+Spring+Hibernate/SSH整合开发详细二


如此这般,现在可以运行你的程序了。为了测试三个框架是否整合成功,你可以在action里什么都不做,只是写一条输入语句即可。因为搭建SSH项目时,最容易碰到的错误就是:Servlet action is not available。如果连action都访问不了,后面的就不需要谈了(文章B http://blog.csdn.net/shendiaodaxia/archive/2007/12/29/2002805.aspx应该可以解决此类问题)。测试不成功?依然是Servlet action is not available?这个时候log4j.log就起到关键作用了,你可以看下里面出现了什么异常。我在调试时碰到了:

1. java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor?? 和

2. net.sf.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null
Caused by: java.lang.reflect.InvocationTargetException
Caused by: java.lang.SecurityException: class "com.wuwei.struts.bean.User$$EnhancerByCGLIB$$1016ffbf"'s signer information does not match signer information of other classes in the same package

的错误。

1的解决办法是:

再次运行,打印语句成功 "I'm in a Action" 搭建成功!

?

?

补充:

我用的是SQLServer数据库,测试表是User表,调试时出现了
java.sql.SQLException: 在关键字 'user' 附近有语法错误。这是因为MS SQL中的User表是系统表,不能直接查询select username from user,需要将user用中括号包围[user],同样,为了保证hibernate能正常工作,需将user.hbm.xml中class元素的table改为???? table="[user]"

热点排行