分享

Struts2.1.6+Spring2.5+Hibernate3.2

 zengbj 2009-08-20
最近公司启动了新项目的研发

 

主要采用的技术

SSH:Struts2.1.6+Spring2.5+Hibernate3.2

DB:Oracle10g

Service:Tomcat6.0

JDK:jdk1.6

就将在开发过程中的问题和解决方案share出来,希望可以共同研究进步:

首先是在MyEclipse7.0下对SSH开发环境的搭建

 

新建一个WebProject

 

 

 

因为现在在Myeclipse版本中还没有集成对Struts2自动嵌入,所以需要我们手动将struts2.1.6类包的导入,在网上下载对应的lib类包,可以通过

 

或者收到拷贝类包到工程下的Lib文件下,然后刷新项目就可以自己加载进去

这样就把struts2的类包导入到项目中了,然后再通过

 

导入Spring架构

 

在上面可以看到Spring的版本,我们选择2.5,在下面类包的选择中我们一定要注意不必要将类包全部导入,也不能导入类包不全,这样都会对以后的开发造成不必要的麻烦,在这里我们只需要导入: Spring 2.5 AOP Libraries; Spring 2.5 Core Libraries; Spring2.5 PersistenceCore Libraries; Spring 2.5 Web Libraries 四个类包即可。然后

 

将类包自动导入项目中,单击Next

 

在生成的applicationContex.xml文件自动存放的路径在src下,这里我们为了项目以后统一管理文件这里我们选择路径为:WebRoot/WEB-INF,点击完成就导入了Spring架构,最后我们再来导入Hibernate,Hibernate的导入这里就不做详细的说明,具体的导入步骤和Struts1.X的导入方式一样

 

 

在这里选择Hibernate3.2的版本,类包只需要加入Hibernate的类包 Spring的在前面我们已经导入这里就不需要再次导入,下面选择将对应的类包导入到项目lib下

 

我们这里采用的ssh架构就将Hibernate交由Spring来管理。

 

 

 

这样在这个项目中已经将Struts2.1.6  Spring2.5和Hibernat3.2导入到项目中,最后一定要注意的问题就是类包冲突的问题,这个在开发过程中是最头痛的事情,因为现在是将三个框架组合到一起所以就会有类包的冲突,就会造成项目的启动报错, 一定要将cglib-nodep-2.1_3.jar删除掉

不知道什么原因上面导入的图片显示不了,就多点文字说明

接下来最关键的就是配置web.xml和Struts.xml两个文件了:

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java./xml/ns/javaee"
xmlns:xsi="http://www./2001/XMLSchema-instance"
xsi:schemaLocation="http://java./xml/ns/javaee
http://java./xml/ns/javaee/web-app_2_5.xsd">

    <display-name>Struts 2.1.6</display-name>
    <!-- 配置sturts2的 -->
  <filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>   
 <param-name>config </param-name>   
    <param-value>../xml/struts.xml  </param-value>   
</init-param> 
    </filter>
   
  <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 配置系统启动页 -->
<welcome-file-list>
<welcome-file>/index.jsp</welcome-file>
</welcome-file-list>
   
    <!-- 配置监听 由spring来管理 -->
    <context-param>
     <param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>
   org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>  
</web-app>

下面是对struts.xml文件的配置

<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts./dtds/struts-2.0.dtd">

<struts>

<!--下述语句是将struts2交给spring管理 -->
<bean type="com.opensymphony.xwork2.ObjectFactory" name="spring" class="org.apache.struts2.spring.StrutsSpringObjectFactory" />
   
    <!--  Make the Spring object factory the automatic default -->
    <constant name="struts.objectFactory" value="spring" />

<!--导入struts-default.xml文件 -->

<include file="struts-default.xml"></include>

<!--将action内容放在package元素下,package元素的name值与extends值可以使用默认值,如下所示 -->

<package name="default" extends="struts-default">

<!--例如与用户登录相关的LoginAction,配置如下,其中,class值与applicationContext.xml文件中该action的id值相对应,name值作为标识-->

   <action name="syshome.loginAction" class="LoginAction" method="checkLogonAdmin">
    <result name="fail">/login.jsp </result>
    <result name="success">/main.jsp</result>
   </action>

</package>

</struts>

 

这样整个项目基本上已经配置完成,将项目加载进tomcat下就可以运行启动页面了

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多