Struts框架的核心是一个基于MVC模型的控制器,这个核心控制器就是ActionServlet,ActionServlet将模型层和视图层分离。
一、ActionServlet的主要功能:
(1) 接收用户的请求;
(2) 根据不同的用户请求,调用不同的Action进行处理。
(3) 从模型层(如果需要)获得处理后的数据并传给相应的视图层。
(4) 选择合适的视图进行响应,并且显示给用户
ActionServlet是Struts框架提供的一个Servlet,继承了HttpServlet,使用<servlet>元素注册(web.xml中)
二、init()方法
由Servlet的生命周期可以知道,当服务器加载了Actionservlet后,首先执行的时init()方法进行初始化工作。
(1) initInternal():初始化struts框架内在的消息资源,如与系统日志相关的通知、警告和错误信息。
(2) initOther():从web.xml文件中加载ActionServlet的初始化参数
(3) initServlet():从web.xml文件中加载ActionServlet的URL映射信息。此外还会注册web.xml和struts配置文件所使用的DTD文件,这些DTD文件用来验证web.xml和struts配置文件的语法
(4) initModuleConfig():加载并解析默认应用模块的struts配置文件;创建ModuleConfig对象,把它存在ServletContext中
(5) intiModuleMessageResources():加载并初始化默认应用模块的消息资源,创建MessageResources对象,把它存在ServletContext中
(6) initModuleDataSources()方法:加载并初始化默认应用模块的数据源。如果没有在struts配置文件中没有定义<data-sources>元素,就忽略这一流程
(7) initModulePlugins():加载并初始化默认应用模块的所有插件