该用户从未签到
|
一、struts的工作原理: * q2 ?' ?+ f7 _1 N$ m
1、初始化,读取struts-config.xml、web.xml等配置文件(所有配置文件的初始化): ]$ Q, E! }: I( c* s1 a2 |
2、发送HTTP请求,客户端发送以.do结尾的请求: p- _6 X2 k( ^, F. `+ q! t
3、填充FormBean(实例化、复位、填充数据、校验、保存)9 w n+ r, s4 c* Q1 U
4、将请求转发到Action(调用Action的execute()方法)& H/ j3 q5 h9 ?/ G; `, R
5、处理业务(可以调用后台类,返回ActionForward对象)/ O5 l. f4 B* X! w' a X: }
6、返回目标响应对象(从Action返回到ActionServlet)
) M- n0 [4 Z6 D+ S7 I6 H T7、转换Http请求到目标响应对象(查找响应,根据返回的Forward keyword); S ^5 m& t$ h- U* @2 s; k+ z6 W
8、Http响应,返回到Jsp页面
& |5 U/ F' Q% P* a
3 s1 x2 H' N' @% y P% r; D9 Lhibernate工作原理:
f: u6 ?9 Z1 `9 V8 C+ R) ^1. 读取并解析配置文件' v4 x' u& S6 `8 G
2. 读取并解析映射信息,创建SessionFactory
& s: ?9 q! f( Z/ H3. 打开Sesssion7 L6 q! m0 ~* s- b) ]
4. 创建事务Transation
" J" Y" k/ x4 B# J. C2 e" i5. 持久化操作
8 n$ {2 a1 u% L. J2 |; Y6. 提交事务
$ S+ t* m$ s2 R/ a3 x2 G/ R" f7. 关闭Session0 o# H/ H: F' Q' y7 g
8. 关闭SesstionFactory: y8 T3 L; {6 g0 v$ ^# A
0 F4 p# @$ i/ g8 ispring工作原理:' f$ V' z9 f+ i- y7 g$ M
1.spring mvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。
5 q" X `# R9 o. _& H4 @ Z2.DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller.3 l: c$ M: W" }! m/ t/ f, Y3 l9 q
3.DispatcherServlet请请求提交到目标Controller
9 _$ x9 h( R+ T, ^: B9 i4.Controller进行业务逻辑处理后,会返回一个ModelAndView( y1 [! V1 X! ~ N& Q( A
5.Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象
4 W4 ^+ M7 Y& {6 |) N* U0 j- T6.视图对象负责渲染返回给客户端。, J7 e* B& l( R3 Y: H
|
|