简介
ActionServlet类是Struts框架的内置核心控制器组件,它继承了javax. servlet.http.HttpServlet类,Struts的启动一般从加载ActionServlet开始,因此它在MVC模型中扮演中央控制器的角色。
作用
在具体实现时,它首先要判断Action对象是否存在,如果不存在则先创建该对象;在请求被接收后,控制器会将其传递给一个Action实例,这一过程同样会判断实例是否存在,如果不存在则需先创建该实例的execute()方法。
配置
ActionServlet是一个标准的Servlet,在web.xml文件中配置,该Servlet用于拦截所有的HTTP请求。因此,应将Servlet配置成自启动Servlet,即为该Servlet配置load-on-startup属性。
应用
用户提交表单时,一个配置好的ActionForm对象被创建,并被填入表单相应的数据,ActionServler根据Struts-config.xml文件配置好的设置决定是否需要表单验证,如果需要就调用ActionForm的Validate()验证后选择将请求发送到哪个Action,如果Action不存在,ActionServlet会先创建这个对象,然后调用Action的execute()方法。Execute()从ActionForm对象中获取数据,完成业务逻辑,返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指定的jsp组件,ActionForward对象指定的jsp生成动态的网页,返回给客户。