struts是一个经典的MVC模式
拦截器比过滤器拦截的力度更大
搭建struts2框架
1.引入lib包 9个(2.3版本的)
common-fileupload;
common-io;
common-lang3;
common-logging;
freemaker;
javassistGA;
ognl;
struts2-core;
xwork-core;
2. struts2.xml
3. web.xml
将所有的跳转都交给struts2处理
4.写一个Action
5.页面<form action="loginAction.action" method="post">
2.1.18(7个架包)
2.o.11(5个架包)
strutsPrepareAndExecuteFilter增强版修复了过滤器被忽略失效的问题
--------------------------------
strusts2内核是webwork,低侵入的框架,没有formbean是ognl方式存取数值,更
加简洁。
-------一个请求在struts2框架中的处理分为以下几个步骤:
1.用户通过浏览器提交HttpServletRequest请求
2.这个请求经过一系列的过滤器,这些过滤器的调用是有先后顺序的,先调用
ActionContextCleanUp,在调用其他的过滤器,在调用FilterDispatcher
3.FilterDispatcher是struts2中实现控制器Controller的核心,它接到请求后会
向ActionMapper查询这个请求是否需要调用某个action。如果AtionMapper决定调
用,FilterDispatcher把请求的处理交给AtionProxy
4.ActionProxy通过Configuration Manager查询struts.xml文件,找到需要调用
的action对象类型
5.AtionProxy创建一个ActionInvocation的实例,ActionInvocation通过代理模
式调用action对象。ActionInvocation对象在调用action对象的前后,涉及相关
的拦截器(interceptor);
6.一旦ation执行完毕,actionInvocation负责根据struts.xml中的配置找到对应
的result,result通常是一个jsp页面或FreeMaker等模板页面,在渲染页面过程
中可以使用struts2标签
7.最终,把返回给用户的内容封装成HttpServletResponse后,返回给浏览器