科帮网

登录/注册
您现在的位置:论坛 盖世程序员(我猜到了开头 却没有猜到结局) 盖世程序员 > struts2+Hibernate+Spring相关配置说明
总共48087条微博

动态微博

查看: 1821|回复: 0

struts2+Hibernate+Spring相关配置说明

[复制链接]
admin    

1244

主题

544

听众

1万

金钱

管理员

  • TA的每日心情

    2021-2-2 11:21
  • 签到天数: 36 天

    [LV.5]常住居民I

    管理员

    跳转到指定楼层
    楼主
    发表于 2014-07-15 21:05:20 |只看该作者 |正序浏览
    ---------------------------------------------MVC部分-----------------------------------------7 y1 h. t4 |0 [/ V3 ~! v6 ]
    1. MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻     辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
    4 S# s6 ~3 g) d* |' {* S+ s! ~3 O& K& o2 @& G" T
    Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
    * B* z! M' E+ o) q8 Y9 J  通常模型对象负责在数据库中存取数据。
    3 C6 h; A+ w# m: z$ w View(视图)是应用程序中处理数据显示的部分。
    - F9 v* k8 i% U8 N  通常视图是依据模型数据创建的。
    * _) S  g) O' F6 c6 ?% K Controller(控制器)是应用程序中处理用户交互的部分。
    $ ?- q, A+ n" d2 L  通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。2 @, w5 Z$ Q  O) k( ]

    " s) q; j- X& l/ F0 y-------------------------------------------struts2部分-----------------------------------------
    1 n2 A$ l' @4 R5 s1. Struts 2是基于mvc的web框架,是在 WebWork的技术基础上开发的全新MVC框架。
    1 _2 `$ c% }. B4 N$ Z
    5 K5 y% S# Z. ^7 c1 [* G2. 工作流程. V& P  o( q9 _  B
      1> 客户端浏览器发出HTTP请求.
      2> 根据web.xml配置,该请求被FilterDispatcher接收
      3> 根据struts.xml配置,找到需要调用的Action类和方法, 并通过IoC方式,将值注入给Aciton
      4> Action调用业务逻辑组件处理业务逻辑,这一步包含表单验证。
      5> Action执行完毕,根据struts.xml中的配置找到对应的返回结果result,并跳转到相应页面
      6> 返回HTTP响应到客户端浏览器
    6 a+ j- G9 @. ~6 G
    3. 工作原理
      1>  客户端初始化一个指向Servlet容器的请求
      2>  这个请求经过一系列的过滤器(Filter)
      3>  接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action
      4>  如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy
      5 > ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类
      6>  ActionProxy创建一个ActionInvocation的实例。
      7>  ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。
      8>  一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。

    4 m  ?) s- p8 G+ ~& _6 H8 z
    4. 为什么使用struts2?
      1> 开源的mvc框架
      2> 纯pojo的Action
      3> 更好的标签特性
      4> 易测试
      5> 易扩展
    - j7 Q/ P" y3 t/ Z
    ------------------------------------------hibernate部分-----------------------------------------
    1. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得java程序员可以随心所欲的使用对象编程思维来操纵数据库
    5 L+ Q  P  z4 W. P5 f5 T! o5 L
    6 h8 }* W; ~' \. l* d2. 工作原理" k% x% k5 Q: o! u
    : H0 d# ?! T$ o: y
    1>  通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件
    ( S: B: L3 k; r. p4 ?2>  由hibernate.cfg.xml中的<mapping resource="com/xx/User.hbm.xml"/>读取并解析映射信息1 P, V9 T- s* o9 ]4 O
    3>  通过config.buildSessionFactory();//创建SessionFactory
    ! Z2 ?/ ]* T! @" ]1 |2 o  [' d4>  sessionFactory.openSession();//打开Sesssion
    # B, q& p7 T( L5>  session.beginTransaction();//创建事务Transation
    " g+ _7 z: `" Z3 ?( ]$ D6>  persistent operate持久化操作
    ( f$ ~) ~5 y# v/ H2 R8 ~2 V7>  session.getTransaction().commit();//提交事务, ?6 Q- G7 V0 u4 v) `: z
    8>  关闭Session
    9>  关闭SesstionFactory
    # v9 t/ s" O5 s) d8 H* r/ n9 s" C1 l* _
    3. 为什么使用Hibernate?

    % ~& X. ]' y! l- D) K' c1 `
    Hibernate对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码

    5 V: f' D  E3 J" K/ j" H' k
    Hibernate是一个基于jdbc的主流持久化框架,是用优秀的orm实现,它很大程度的简化了dao层编码工作
    ------------------------------------------spring部分-----------------------------------------
    ) d0 z; `6 \9 h1. Spring是一个轻量级控制反转(IOC)和面向切面(AOP)的容器框架。) j0 M; u3 }5 ~2 ?5 l0 J

    ' e: v' y: r: l$ e6 D2 |$ ]# q2. 控制反转——Spring通过一种称作控制反转IOC)的技术促进了松耦合。当应用了IOC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。
    9 i/ }% j7 ^9 f' _  
    ( Y. t1 U, N* d! m; L5 K
    7 K: U) @3 A0 m! l, a/ u
    3. 面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑系统服务事务进行内聚性的开发。
      Q' C" X! Z, J$ P$ B) \
    2 c5 R  K7 e5 N' w4.为什么使用Spring?
    ' k: j) `  z# O6 O5 `  T# V, Z( U 1> 方便解耦,简化开发
    8 `) q, f5 Z3 q' t3 n2> 方便程序的测试
    % D5 D$ D8 }) o. x% ?3> 方便集成各种优秀框架0 U9 H5 Q; U% z
    ; S/ k6 O$ M0 ^; ]
    9 Z; e8 D' |0 t6 x; n

    科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、科帮网管理员和版主有权不事先通知发贴者而删除本文


    JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

    红红火火恍恍惚惚
    快速回复
    您需要登录后才可以回帖 登录 | 立即注册

       

    关闭

    站长推荐上一条 /1 下一条

    发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
    快速回复 返回顶部 返回列表