Struts2 核心剖析

来源:互联网 发布:网络直播电视app 编辑:程序博客网 时间:2024/06/05 15:11

 1.核心控制器  是FilterDispacher
2.Struts框架的大致处理步骤:
  用户提交请教,请教被过滤器截取并处理最终到达核心控制器FilterDispatcher.询问ActionMapper找寻action来处理这个请求,如果发现就发送给ActionProxy.执行完毕之后返回结果视图.
3.关于常量配置
有几种方式,分别在struts.xml  struts.properties 以及 web.xml中配置,建议配置在struts.properties中配置,这种采用键值对配置的模式最直观也最方便管理.
4.关于Struts2在开启服务时加载顺序及配置常量顺序
加载顺序:struts-default.xml   到   struts-plugin.xml   到   struts.xml   到   struts.properties  到   web.xml
配置常量顺序则反过来
5.关于Action的命名空间.
当在指定命名空间中找不到所制定的action时,会在默认的命名空间(也就是没有定义的命名空间,)里找对应的action,如果没有发现就抛出异常并报错.
6.拦截器的作用
拦截器的作用是在执行action处理用户请教的  之前   或    之后   执行拦截器来进行某些操作.
无论是定义拦截器还是拦截器栈,最好是定义在result之后
7.关于通配符
为了日后的维护,最好限制使用通配符.采用include方式解决这些问题
8.servlet API
ActionContext context  =  ActionContext.getContext();
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResoinse response = ServleActionContext.getResponse();
HttpSession session = request.getSession();
9.在配置Action元素中,如果不指定class元素,会自动使用ActionSupport类来处理请求,并自动返回SUCCESS;
10.在执行中的Action在struts.xml中假如没有定义.会通过全局配置的一个定义...(需要组织语言完善)
11.Action动态加载方法最好使用xml配置的方式
<action name="xxx" class="xxxx" method="ssss" >
12.Result  级别上 局部的Result 大于全局的result
13.Result默认的type就是Dispatcher  默认的name就是 success
14.属性驱动的好处在于灵活,但增加了耦合度
15.模型驱动的好处在于降低耦合度,增加独立性,但必须实现modelDriver接口.
16.定义全局的异常时必须定义在全局result之后

原创粉丝点击