`

ssh整合一些问题(转)

 
阅读更多

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

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

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

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

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

 

  <controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor" />
   这句的作用是将struts的控制权交给spring

  <message-resources parameter="com.yourcompany.struts.ApplicationResources" />
  <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
      <set-property property="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
at   org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
at   org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at   org.apache.struts.util.RequestUtils.applicationClass(RequestUtils.java:117) ……………………

解决方法:SH开发的初期会有很多人碰到这个错误,原因是在struts-config.xml中配置了org.springframework.web.struts.ContextLoaderPlugIn
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="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的相关包到构建路径下面可以解决问题。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics