Struts2原理

一.原理
struts2是基于MVC设计模式的WEB应用框架,适合分层开发,主要原理是应用拦截器来处理用户请求.是以webwork和struts框架为基础实现技术开发

二.五个核心部分进行实现:
操作(Actions)
拦截器(Interceptors)
值栈(value stack)/ognl
结果(Result)/结果类型
视图技术

三.struts2主要是由Action扮演模型的,主要模型,视图,控制器的流程图如下
这里写图片描述

四.请求生命周期
1.用户发送一个资源请求到服务器
2.核心控制器(org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter)查看请求后,通过Action创建类
3.使用配置拦截器功能后调用Action类中的操作
4.得到结果,创建result对象
5.视图显示返回用户

五.流程
1.拦截器拦截请求,创建代理Action对象,执行方法,返回结果,界面跳转。
2.拦截器解析请求路径,获取Action的名称,到配置文件中查找action的完整类名,利用反射创建对象。
3.每请求一次,就创建一个对象,所以action是多例的,也是线程安全的。

六.Struts2动作类:Action
1.动作类就是一个简单的POJO(简单java对象)
2.实现com.opensymphony.xwork2.Action接口
SUCCESS:一切正常时使用
NONE:不转向任何视图时使用(文件下载时)
ERROR:出错(异常中)
INPUT:数据回显时。
LOGIN:转向登录页面时。
3.动作类继承ActionSupport类。
4.编写要求:
必须是public的
方法必须返回String的值。如果为null,则不转向任何的视图
方法没有任何的参数

猜你喜欢

转载自blog.csdn.net/qq_28198893/article/details/79104798
今日推荐