Struts2.x重要类和接口以及配置文件
研究任何一个开源框架,最好的办法是寻找突破口,从最核心的接口和类入手,然后慢慢延伸出别的源码。Struts2.x的核心接口和类如下:
核心过滤器:StrutsPrepareAndExecuteFilter
Action接口、ActionSupport类、18个拦截器
配置文件:web.xml、struts.xml、default.properties、struts-default.xml、struts-2.3.dtd
Action接口:
接口中定义了一些常量和一个Action缺省方法名称:public String execute() throws Exception;
ActionSupport类:
ActionSupport帮我们实现了MVC中比较常见的一些功能,比如数据类型的自动转换。所以实际开发中我们还是尽量使我们的Action继承ActionSupport
StrutsPrepareAndExecuteFilter过滤器:
StrutsPrepareAndExecuteFilter最核心的方法就是doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException;
方法内容为:首先判断它是否有mapping映射(即是否为Action),如果不是Action就直接chain.doFilter(request, response);放行。如果是Action的话,那么久要让它经过18个默认拦截器,再放行。
struts.xml配置:
action配置是基于包管理的
一个完整的action配置应该是
<action name="" class="" method="">
<result name="" type="">/xxx.jsp</result>
<result name="" type="">/xxx.jsp</result>
......
</action>
struts.xml也支持团队开发:<include file=""></include>
备注:清楚Struts2.x的运行流程才是学习该web框架最重要的一点。