MVC框架:spring MVC,struts1,struts2,webWork
strurs2原理是MVC框架,主要解决请求分发,重心在控制层和表现层;
strutsPrepareAndExecuteFilter:主控制器;
Action:业务控制器;
Result:视图响应组件;
Interceptor:拦截器;
valueStack:值栈;
原理=体系结构+描述处理流程;
Action属性重用:1)接收请求参数值(请求参数key与属性名一致)
2)响应jsp传值(${key},key与属性名一致)
如何使用request,session,application对象
利用ActionContext获取Map结构对象(各种组件都适用,除Action之外,只涉及存取值建议用这个);
利用servletActionContext获取servlet类型的对象(各组件都适用,除非使用对象的特有方法才使用);
利用Action实现Aawae接口,将对象自动注入(仅适用Action,推荐在Action使用);
EL表达式在struts2中的使用
原有jsp:EL表达式访问数据page,request,session,qpplication
${name}——>request.getAttribute("name");
struts2环境:EL表达式访问数据page,request,action,session,application
${name}——>request.getAttribute("name");获取Action的name属性(getname) ;
Valuestack(容器):用于管理请求处理期间所涉及的对象信息;
eg:request,session,application,action;请求参数信息等;
请求进入Filter控制时,首先会创建Valuestack,然后初始化当请求处理完毕后,
会销毁Valuestack对象;
struts2底层采用OGNL技术对Valuestack存储的对象进行操作,
OGNL 表达式 :Object,Graphics,Navigation,Language;
struts2和spring整合应用
整合:为了想使用springIOC和AOP功能,降低程序组件耦合度;
SSH:struts2+spring(IOC+AOP)+Hibernate;
SSM:springMvc+spring(IOC+AOP);
dispatcher:以转发方式发出指定的请求;
redirect:以重定向方式发出指定的请求;
redirectAction:以重定向方式调用下一个Action;
json:可以将Action数据转成jion字符串输出;