ssh整合一些问题(转)

spring+hibernate+struts整合开发框架搭建

在myeclipse当中先为项目添加spring支持,这时候没有有关hibernate的选项,不用着急,按步骤添加完spring支持就行,下面还有机会。

接着为项目添加hibernate支持。这时候,会看到myeclipse已经检测到添加了spring支持,所以会显示有关spring的选项,这时候把所有的选项都勾上(有的包现在用不到,但是以后会用的。先添加吧。)最后确定添加完成。

接着为项目添加struts支持,这个比较容易。

最后就是有关于配置文件的编写了,把applicationContext.xml文件move到WEB-INF目录下,打开struts-config.xml文件,在<message-resources>结点的前面和后面添加配置代码,形成如下代码段:

<controllerprocessorclass="org.springframework.web.struts.DelegatingRequestProcessor"/>

这句的作用是将struts的控制权交给spring

<message-resourcesparameter="com.yourcompany.struts.ApplicationResources"/>

<plug-inclassname="org.springframework.web.struts.ContextLoaderPlugIn">

<set-propertyproperty="contextConfigLocation"value="/WEB-INF/applicationContext.xml"/>

</plug-in>

这句的作用是让struts能够找到applicationContext.xml配置文件并加载它。

至此,所有简单的配置完成。然后部署到tomcat,启动服务器,如果控制台打印的信息没有异常或错误,那么恭喜,ssh框架搭建成功!如果有异常,就要着手处理,常见的异常及解决办法如下:

1、java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener

解决方法:spring的jar包没有被加载或者没有添加到构建路径,重新设置即可。

2、严重:action:null

java.lang.ClassNotFoundException:org.springframework.web.struts.ContextLoaderPlugIn

atorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)

atorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)

atorg.apache.struts.util.RequestUtils.applicationClass(RequestUtils.java:117)……………………

解决方法:SH开发的初期会有很多人碰到这个错误,原因是在struts-config.xml中配置了org.springframework.web.struts.ContextLoaderPlugIn

<plug-inclassname="org.springframework.web.struts.ContextLoaderPlugIn">

<set-propertyproperty="contextConfigLocation"value="/WEB-INF/applicationContext.xml"/>

</plug-in>

然而又加载不到这个类,当然会报ClassNotFoundException

这个类是和Struts的整合类,并没有在spring-core.jar等文件中,而是在spring-webmvc-struts.jar中。

把spring-webmvc-struts.jar加载到ClassPath中就OK了。

3、java.lang.ClassNotFoundException:org.apache.struts.action.ActionServlet

解决方法:导入struts包或者重新加载struts的相关包到构建路径下面可以解决问题。

相关推荐