您好,欢迎访问三七文档
开发WEB购物网站系统(二)(搭建SSH框架)在前面我们已经学过怎么样去安装MyEclipse和配置一个顺手的开发环境.我们采用开发工具:MyEclipse,服务器:Tocmat.在这些基本环境搭建好之后.我们就开始web工程的搭建.搭建一个web工程,在搭建web工程之前,我们首先考虑到,我们需要用什么技术,什么框架,为什么要用这些框架,好处在哪呢!系统有没有可扩展性,可易维护性,安全性呢,以及开发效率的快慢,系统的运行速度快慢等等。这些问题都是我们应该要考虑到得。所以我们在搭建之前要对这些问题一一解决之后,在来开始搭建。这样的话你开发的系统质量就比较高了。也就能够受到更多人的青睐.而且还丰富了自己的知识.在项目架构上又获得了一定的经验.接下来我为大家介绍,当前流行的主要框架。1.StrutsStruts是Apache基金会Jakarta项目组的一个OpenSource项目,它采用MVC模式,能够很好地帮助java开发者利用J2EE开发Web应用。Struts也是面向对象设计,将MVC模式分离显示逻辑和业务逻辑的能力发挥得淋漓尽致。Struts1框架的核心是一个弹性struts的控制层,基于如JavaServlets,JavaBeans,ResourceBundles与XML等标准技术,以及JakartaCommons的一些类库。Struts由一组相互协作的类(组件)、Servlet以及jsptaglib组成。基于struts构架的web应用程序基本上符合JSPModel2的设计标准,可以说是一个传统MVC设计模式的一种变化类型。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,所以struts是一个不错的选择Struts2.Struts2是Struts的下一代产品,是在struts和WebWork的技术基础上进行了合并的全新的Struts2框架。其全新的Struts2的体系结构与Struts1的体系结构的差别巨大。Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为WebWork的更新产品。虽然从Struts1到Struts2有着太大的变化,但是相对于WebWork,Struts2只有很小的变化。Struts2和Struts1的对比在Action的实现方面:Struts1要求必须统一扩展自Action类,而Struts2中可以是一个普通的POJO。线程模型方面:Struts1的Action工作在单例模式,一个Action的实例处理所有的请求。Struts2的Action是一个请求对应一个实例。没有线程安全方面的问题。Servlet依赖方面:Struts1的Action依赖于ServletAPI,比如Action的execute方法的参数就包括request和response对象。这使程序难于测试。Struts2中的Action不再依赖于ServletAPI,有利于测试,并且实现TDD。封装请求参数:Struts1中强制使用ActionForm对象封装请求的参数。Struts2可以选择使用POJO类来封装请求的参数,或者直接使用Action的属性。表达式语言方面:Struts1中整合了EL,但是EL对集合和索引的支持不强,Struts2整合了OGNL(ObjectGraphNavigationLanguage)。绑定值到视图技术:Struts1使用标准的JSP,Struts2使用“ValueStack”技术。类型转换:Struts1中的ActionForm基本使用String类型的属性。Struts2中使用OGNL进行转换,可以更方便的使用。数据校验:Struts1中支持覆盖validate方法或者使用Validator框架。Struts2支持重写validate方法或者使用XWork的验证框架。Action执行控制的对比:Struts1支持每一个模块对应一个请求处理,但是模块中的所有Action必须共享相同的生命周期。Struts2支持通过拦截器堆栈为每一个Action创建不同的生命周期。2.HibernateHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。3.SpringSpring也表示是一个开源框架,是为了解决企业应用程序开发复杂性由RodJohnson创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。4.IBATISiBATIS一词来源于“internet”和“abatis”的组合,是一个由ClintonBegin在2001年发起的开放源代码项目。最初侧重于密码软件的开发,现在是一个基于Java的持久层框架.如果还没有明白.不太清楚的,可以再去翻阅资料.现在主流的框架大概都已经清楚了.该是我们选择的时候了。因为本人开发的是购物网站系统所以,我采用,struts1.2+hibernate3.0+spring2.0.都是比较稳定的版本.接下来开始动手喽!1.打开MyEclipse,如下图1:图1在左侧空白处,单击右键,点击NEW,在选择Webproject如下图2:图2输入适当的工程名字,选择J2ee版本,如下图3:图3点击Finish按钮.在点击Finish按钮后会弹出一个提示框提示你(你当前的jdk版本是6,但是系统默认是5,问你是否需要用你的配置来进行当前文件的解析)点击yesh或者No都可以.工程创建完成。结构图如下图4:图42.添加struts1.2支持在b2bssh工程上面右击,在弹出的菜单中选择MyEclipse-AddStrutsCapabilities…,添加Struts的支持。如下图5:图5点击AddStrutsCapabilities,后如下图6:图6什么都不用变,直接点击Finish完成即可。完成后,工程结构图如下图7:图73.添加Hibernate支持如图5,选择AddHibernateCapabilities,点击后出现下图图8图8选择hibernate版本,我选择hibernate3.1版本.下面单选按钮勾选第二个,意思是将Hibernatejar包添加到项目中的Li目录下.点击Next按钮,如下图9:图9点击Next按钮,如下图10图10Hibernate配置文件名初始选项是被选中的,在这里选中是需要创建数源DataSource的,我在这里没有选中,数据源我们在后面来创建.点击Next按钮.如下图11;图11初始是被选中的,意思是需要创建一个sessionFactory,session工厂.这个在后面我们在来解释它的作用,我在这里没有选中,点击Finish按钮.完成后,工程结构图有所改变.如图12图12添加hibernate支持已经完成4.添加spring支持如图5,选择AddSpringCapabilities,点击后出现下图图13图13选择Spring版本.默认选中的是Spring3.0,这里我选择了Spring2.0版本,在下面选择Spring2.0你所要用到得类库也就是jar包.在下面单选按钮选择第二个是将你选中的jar包添加到你的项目LIB目录下.点击NEXT按钮.如下图:14图14Spring配置文件点击next按钮,如下图:图15图:15默认,点击Finish按钮,完成Spring支持.完成后工程结构图如下,图16图165.三个主流框架都已经添加完成,接下来我们看看,如何去整合struts+hibernate+spring,1.首先打开MyEclipse数据库管理,MyEclipseDataBaseExplorer视图.如下图图17图:17单击右键选择NEW出现下图:图18;图:182.配置一个数据管理,如下图填写:图19图193.点击Next按钮,如下图数据库类型驱动名。可以随意填连接数据库URL驱动包连接数据库用户名和密码4.选择第三个单选按钮,点击Add按钮,如下图:图20图:205.输入密码,点解OK按钮,如下图:图21图21选择你要连接的数据库.点击OK按钮,如下图:图22图22点击下面Finish按钮,如下图:图23图236.双击打开刚刚连接的数据库.如下图图24图247.选中数据中所有表,如下图:图25图258.点击hibernateReverseEngineering如下图:图26图:269.点击Next如下图:图27创建POJO类,并生成表与类的映射关系图2710.点击Next按钮,如下图:图28图28生成主键方式生成一对多,多对一,多对多关系11.点击Finish按钮,完成后,看项目机构图.如下图:图29图2912.通过我们自己动手的操作,MyEclipse自动生成实体bean和实体bean与表之间的映射关系.13.接下来我们先整合Hibernate和Spring,打开Spring配置文件,们手动创建数据源和sessionFactory.打开后如下图:图3014.实体bean和实体bean与表的映射关系图3015.因为我们需要自己手动来创建,则删除掉文件中这部分配置,删除后的文件如下:图31图3116.在空白处,单击右键,如下图:图32图3217.点击NewDataSource如下图:图33图3318.点击Finish完成,可看到spring配置文件有所改变.如下图:图34这里选择我们在图19中所输入的DriverName.则后面的会自动加载图3419.在该文件中,在单击右键如图32,我们选择NewHibernateSessionFactory选项.如下图:图35图:3520.点击Finish按钮,看该文件是否生成sessionFactory.如下图:图36这个BeanID是由我们自己输的.也是固定的.不能随意输入.必须是sessionFactory点击下拉框,选择dataSource数据源,也是我们上面定义数据源的id选择向对应的数据库点击右边Add按钮,添加映射文件图36SessionFactory:主要通过sessionFactory获得session,通过session接口提供的各种方法来操纵数据库访问.21.Spring整合Hibernate就已经整合完了.接下来我们创建Dao层,service层.Web层创建好后项目机构图如下:图37图37ILoginUserDao.javaLoginUserDaoImpl.javaILoginUserService.javaLoginUserServiceImpl.java22.DAO层和service层已经创建好了.接下来我们创建Web层.创建一个Action.如下图:图38图38在项目工程名上单击右键,选择New-------Other--如下图:图39图:39选择Struts1.2Action.点击Next按钮,如下图:图40图40点击Finish按钮,完成后在选择Struts1.2Form,创建Form,如图:图41图41点击Finish按钮完成,此时看看项目结构图.图42图42LoginUserAction.javaLoginUserForm.java23.修改Struts-config.xml,把struts交给Spring进行管理,修改如下图;图
本文标题:开发web购物网站(Struts1.2+Hibernate3.1+Spring2.0)整合案例详细解
链接地址:https://www.777doc.com/doc-6324681 .html