zoukankan      html  css  js  c++  java
  • 《java web整合开发实践 基于struts2 + hibernate + Spring》

    https://www.cnblogs.com/tuhooo/p/6491906.html

    一、java web基础

    核心标准  URL    HTTP    HTML

    HTTP  请求:请求行  请求报头  请求体

               响应:状态行  响应报头  响应正文

    tomcat轻量级的web应用服务器

    关闭被占用端口的进程的方法:http://blog.csdn.net/u011182412/article/details/53893587

    ①netstat   -ano|findstr  8080  ②taskkill  /pid  查出来的/f

    mysql下载地址:https://dev.mysql.com/downloads/file/?id=474803 

    mysql安装教程:https://www.cnblogs.com/chengxs/p/5986095.html

    myeclipse 下载地址及安装教程:http://www.cnblogs.com/hoobey/p/5512924.html

    JDBC(Java Database connectivity)是java程序与数据库系统通信的标准api

     使用JDBC访问MySql数据库的代码:

    JSP指的是Java Server Pages   java服务器动态网页

     bean代表实体类用来与数据库表或者其他进行映射

    二、表现层  Struts技术

    MVC    Model模型  View视图  Controller控制器

    模型层代表的是企业数据和其对应的业务逻辑,它控制着对数据的处理和更新。

    视图层是模型层中的各个模型的具体表现形式。

    控制层在MVC结构中连接模型层和视图层,起到纽带作用。将视图层的交互信息进行过滤等处理后,再传送到模型层相应的业务逻辑处理程序进行处理。

    struts2的体系结构

    Struts2的工作流程:

    (1)浏览器发出请求

    (2)控制层中的核心控制器FilterDispatcher根据请求调用相应的Action

    (3)Struts2的拦截器链(即一系列拦截器)自动对请求调用一些通用的控制逻辑。

    (4)回调Aciton中的execute()方法,并在方法内调用业务逻辑组件,即javabean处理请求。

    (5)execute()方法返回后产生一个输出。

    (6)该输出经过拦截器链自动处理

    (7)控制层最后将数据返还并更新视图层。

    1、FilterDispatcher控制层:

    根据用户提交的URL和struts.xml中的配置,选择合适的action,让这个action处理用户请求。

    2、Action模型层:

    负责把用户请求的参数组装成合适的数据模型,并调用响应的业务逻辑进行真正的功能处理,然后产生下一个视图展示所需要的数据。最后得到下一个视图所需要的信息,并传递给控制层中的拦截器链。

    3、Result视图层

    主要用来与用户进行交互,它将从控制层得到的数据通过适合的展示方式展现给用户,让用户与之交互更加简洁简单。

    工程配置文件web.xml    配置了struts2的核心filter以及进入web页面后的首页index.jsp

    配置文件struts.properties  配置了web页面的默认编码集

    控制器文件struts.xml 配置了action和对应请求之间的对应关系

    前段页面index.jsp   success.jsp       视图层,表示信息

    后台struts处理程序TestAction.java

    标签:

     

     action业务逻辑处理对象

    三、持久层Hibernate

    持久化指的是将内存中的数据保存到磁盘等存储设备中。文本文件、xml、关系数据库。

    ORM  object relation map 对象关系映射

    Hibernate下载地址:https://sourceforge.net/projects/hibernate/files/hibernate-orm/5.2.15.Final/hibernate-release-5.2.15.Final.zip/download

                                      https://sourceforge.net/projects/hibernate/files/hibernate3/3.6.10.Final/hibernate-distribution-3.6.10.Final-dist.zip/download

    tools在esclipsse中的配置方法:http://blog.sina.com.cn/s/blog_14ecbc3ed0102wszm.html

    使用Hibernate开发项目的步骤:

    (1)准备开发环境,创建Hibernate项目

    (2)在数据库中创建数据表

    (3)创建持久化类

    (4)设计映射文件,使用Hibernate映射文件将POJO对象映射到数据库

    (5)创建Hibernate的配置文件Hibernate.cfg.xml

    (6)编写辅助工具类HibernateUtils类,用来实现对Hibernate的初始化并提供获得Session的方法

    (7)编写DAO层类       DAO指数据库访问对象

    (8)编写Service层类

    (9)编写测试类

    Configure类主要用来读取配置文件,启动Hibernate,并负责管理Hibernate的配置信息。一个程序只创建一个configure对象。

    SessionFactory主要用来生成session对象。初始化Hibernate

    Session对象的生命周期以Transaction对象的事务开始和结束为边界,提供了一系列与持久化相关的操作。持久化管理器

    Transaction主要用于管理事务,是Hibernate的数据库事务接口,它对底层的事务接口进行了封装

    Query是Hibernate的查询接口,用于向数据库中查询对象,并控制执行查询的过程。

    四、业务层框架Spring技术

    spring框架基于java平台,为应用程序的开发提供了全面的基础设施支持。

     

    下载地址:http://repo.spring.io/release/org/springframework/spring/

    五、SSH框架整合开发

    表示层:struts框架

    业务层:struts的actions类+业务逻辑实现类

    中文编码 UTF-8,引入控制编码的过滤器com.util.SetCharacterEncodingFilter ,在web.xml中

    在spring中集成hibernate实际上就是将hibernate中用到的数据源DataSource、SessionFactory实例以及事务管理器都交给spring容器管理,由spring向发开人员提供统一的模板化操作。

    datasource主要配置数据库的连接属性,sessionFactory主要管理Hibernate的配置、

    Spring集成Struts主要有两种上下文装载方式和3种整合方法。

    上下文装载:

           在web.xml文件中装载spring上下文:①使用ServletContextListener配置         监听器类

                                                                    ②使用load-on-startup Servlet配置         Servlet

    Spring集成struts2的目的是将struts2中的action的实例化工作交由spring容器统一管理,同时使得struts2中的action实例能够访问spring提供的业务逻辑组件资源。而spring容器自身所具有的依赖注入的优势也可以充分发挥。

    spring集成struts2的步骤:①将spring3框架所依赖的jar包复制到WEB-INF的lib文件夹下;

                                              ②将以下struts2类包添加到类路径下。

                                              ③编写struts2配置文件struts.xml,将objectfactory设置为spring

                                              ④配置web.xml文件,让web应用启动时能自动加载spring容器

    实例步骤:(1)新建项目

                     (2)新建包,定义类,是一个action

                     (3)在spring的配置文件applicationContext.xml中配置struts2的action实例,以便                             使用spring容器提供给我们的各种功能。

                     (4)在struts.xml中配置所有struts2的action,注class属性不再使用类全名。而使用                                bean的实例名。

                     (5)编写web.xml文件,使用contextloaderlistener初始化spring容器

                     (6)编写success.jsp

    IoC(Inversion of Control) 即控制反转,它使程序组件或类之间尽量形成一种松耦合的结构,开发者在使用类的实例之前,需要先创建对象的实例。但是ioc将创建实例的任务交给ioc容器,这样开发应用代码时只需要直接使用类的实例。

    bean就是由spring容器初始化、装配及被管理的对象。

    六、SSH框架实例一  用户管理系统

    1、四个功能:用户的添加、用户的删除、用户信息的更新以及查询指定用户信息。

    2、系统结构:

        表现层:由多个JSP页面组成

        MVC层:使用Struts2框架技术

       业务逻辑层:使用业务逻辑组件构成

        DAO层:由DAO组件组成

        Hibernate持久层:使用Hibernate3框架

        数据库层:使用MySQL数据库来存储系统数据

    3、搭建过程:

    数据库层,mysqldb库中的USER表

    Hibernate持久层设计包含:

           定义系统中用到的持久化类(java类,数据表的字段,setget方法)    

           编写各个持久化类对应的映射文件(XXX.hbm.xml)  java类名映射table

    DAO层设计:主要包含sessionFactory的配置、DAO接口的创建以及DAO接口的实现类。

           spring管理SessionFactory            创建DAO接口           创建DAO实现类

    ④业务逻辑层设计:

           创建业务逻辑组件接口                       创建业务逻辑组件的实现类

           对DAO层类增加一层封装

    ⑤表现层开发:

           各个显示页面的开发           业务控制器action的开发

    ⑤完成用户登录设计

    整合struts2和spring    创建用户登录action  用户登录页面    配置控制器    

    ⑥使用spring技术集成struts和hibernate

    spring集成hibernate,通过applicationContext.xml文件完成,在该文件中定义数据源,并完成对SessionFactory的配置和管理,和bean的配置,依赖注入

    整合struts2和spring,通过web.xml文件完成,配置筛选器、监听器。

    七、基于struts、spring、hibernate的轻量级架构

    (1)表现层:有struts实现,主要完成如下任务:管理用户请求和响应;提供一个控制器代理以调用业务逻辑和各层的处理;处理从其他层抛出给strutsaction的异常;为显示提供数据模型。

    (2)持久层:由hibernate实现。它通过一个面向对象的查询语言或正则表达式的API来检索对象的相关信息。还负责存储、更新、删除数据库记录。同时hibernate支持大部分主流数据库,且支持父表/子表关系、事务处理、继承和多态。

    (3)业务层:由spring实现,利用延时注入思想组装代码,提高了系统扩展性和灵活性,实现插件式编程。利用AOP思想,集中处理业务逻辑,减少重复代码,构建了较理想的解决方案。利用其对hibernate的会话工厂、事务管理的封装,可以更简洁地应用hibernate。

    三层的整合:

    struts和spring:在struts中action的创建交给spring,但是要注意action是多实例的;

    hibernate和spring:hibernate的核心类是sessionFactory,这里要把sessionFactory的创建交给spring管理;hibernate的核心文件中进行了数据库信息的配置,这里也要交给spring处理;为dao对象配置持久层的spring提供的template。

  • 相关阅读:
    Camera2Raw
    ActiveNotifications
    百度检索技巧
    Android开发ScrollView上下左右滑动事件冲突整理一(根据事件)
    四种方案解决ScrollView嵌套ListView问题
    10 条提升 Android 性能的建议
    Android操作外置SD卡和U盘相关文章
    SQLServer通过链接服务器调用Oracle 存储过程
    Easy Image X2 快速分区-恢复镜像-万能驱动 一站式操作!
    纯净PE推荐——优启通 v3.3.2019.0605
  • 原文地址:https://www.cnblogs.com/hanmolabi/p/8531700.html
Copyright © 2011-2022 走看看