javaEE-------web开发之Struts
当看到这个标题时,你肯定会问:struts是什么?它有什么作用?它的原理/运行机制?
首先我们一个一个的来说------
struts是什么?
struts的英文解释: 支柱; 支杆( strut的名词复数 )(框架的);是建筑中的一个重要词汇;
在web开发中,Struts作为系统的整体基础架构,采用 Java Servlet/JSP 技术,负责MVC的分离,在Struts框架的模型部分,控制业务跳转。
它有什么作用?
使用Struts的目的是为了减少在运用MVC设计模型来开发Web应用的时间,另一方面将业务逻辑清晰的分开,便于维护。
它的原理/运行机制?
struts的体系结构:
当Web容器收到请求(HttpServletRequest)它将请求传递给一个标准的的过滤链包括流程(ActionContextCleanUp)过滤器,然后经过Other filters(SiteMesh ,etc),
接下来需要调用FilterDispatcher核心控制器,然后它调用ActionMapper确定请求那个Action,ActionMapper返回一个收集Action详细信息的ActionMaping对象。
接下来FilterDispatcher将控制权委派给ActionProxy,ActionProxy调用配置管理器(ConfigurationManager) 从配置文件中读取配置信息(struts.xml),然后创建ActionInvocation对象,ActionInvocation在调用Action之前会依次的调用所用配置拦截器(Interceptor N) 一旦执行结果返回结果字符串ActionInvocation负责查找结果字符串对应的(Result)然后执行这个Result Result会调用一些模版(JSP)
来呈现页面,之后拦截器(Interceptor N)会在被执行(顺序和Action执行之前相反)最后响应(HttpServletResponse)被返回在web.xml中配置的那些过滤器和(核心控制器)(FilterDispatcher)。