struts2
来源:互联网 发布:笔筒淘宝 编辑:程序博客网 时间:2024/05/17 18:25
Struts2是一个MVC框架,其生命周期为从用户请求到服务器返回相应响应给用户端的过程中,核心原理是基于一系列过滤器。
根据这张流程图,可以很清晰的看出struts2的运行方式。首先客户端向Action发送一个请求,通过配置文件将请求分配到对应的ActionProxy进行处理。ActionProxy把request传递给ActionInvocation依次调用action和interceptor,然后根据action的配置信息产生result,返回给ActionInvocation,最后返回一个response给客户端。
这里值得一提的是struts2内部的一个重要数据结构,ValueStack,其中包含了Map和Stack,当request过来,经过一系列拦截器后,Map中放了request、session、application等,而stack中放了model、action等。处理器为把当前执行的action放在栈的顶端。
Spring MVC也是一个MVC框架,类似于Struts2。由DispatcherServlet控制的整个流程,不同的是Struts2处理请求是类级别的,它把请求参数设置在类的字段中,这也就注定strtus2必须的多例的。而Spring MVC处理请求是方法级别的,它把请求参数封装在方法参数中,所以可以单例开发,因为对应请求执行结束,方法对应的栈帧出栈,局部变量表销毁。但sttuts2没落的主要原因是因为速度慢和漏洞多。
0 0
- Struts2
- struts2
- struts2
- Struts2
- struts2
- struts2
- Struts2
- struts2
- struts2
- struts2
- Struts2
- Struts2
- Struts2
- struts2
- struts2
- STRUTS2
- Struts2
- Struts2
- 弄清字符串函数中strcmp函数的返回值问题
- iOS长按识别图中二维码
- NYOJ 1233 差值
- Hibernate_ManyToOne_Demo
- HTML 注意规范
- struts2
- Android ListView 去除边缘阴影、选中色、拖动背景色
- maven+spring+mybatis配置3步走
- UITableViewCell 自适应高度
- Android RecycleView汇总
- springmvc web.xml 配置默认的controller访问问题
- listview 刷新某一个item
- js中取得变量绝对值的方法
- 滴滴出行(滴滴打车)太耗电太占内存cpu问题之终极解决