1struts2原理
struts2有一个核心控制器,filter,处理我们所有的请求,在filter中把不同的请求通过路径分发给不同的action。这个时候由struts创建了两个对象,一个对象是Action,还有一个ActionContext,Action用于处理请求,ActionContext用于存储数据,struts向里面保存了一些数据,数据包括:值栈,session,request,applicaton,attr,paramter。进如Action对象之前,还经过了默认的拦截器,也就是interceptor,这些拦截器是struts2提供给我们公共的一些功能的实现手段。每个拦截器都有一个帮助我们的一个功能,比如表单数据读取,并通过action的set方法赋值,和验证功能。
进入Action之后调用其他层的代码,最终返回逻辑名,struts2会根据逻辑名进行页面跳转。
jsp中获取数据使用ognl,ognl读取的范围是ActionContext。