在WEB启动时就会加载并初始化ActionServlet。ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到各种配置对象中.当ActionServlet接收到一个客户请求时:
一、检索和用户请求匹配的ActionMapping实例,如果不存在,就返回用户请求路径无效。
二、如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交表单数据保存到ActionForm对象中。
三、根据配置决定是否需要表单验证,如果需要验证,就调用ActionForm的validate()方法。
四、如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActionError对象,就表示表单验证成功。
五、ActionServlet根据ActionMapping实例包含的映射决定将请求转发给哪个Action。如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute()方法。
六、Action的execute()方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指向的JSP组件。
七、ActionForward对象指向的JSP组件生成动态网页,返回给客户。
ActionServlet是struts框架的总控制器,处理客户端请求并决定由那个action处理请求。
后缀名可以更改。
通过修改web.xml中的
在struts中配置oracle数据源需要四个包:commons.pools,commons.dbcp,Class12.jar,struts_legacy.jar,把它加到WEB-INF下的lib目录下就可以了,然后这段写在struts-config.xml文件的标签
attribute:制定与当前Action相关联的ActionForm Bean在作用域里的名称
name:指定和当前Acion关联的ActionForm Bean的名字。该名称必须在form-bean元素中定义过。
不是. 为了确保action的线程安全, 最好的办法就是不要在action里定义实例变量
ActionMapping mapping:Action里的配置属性信息
ActionForm form:与该Action相关联的ActionForm对象
HttpServletRequest request:该Action接收到的请求信息
HttpServletResponse response:该Action返回的响应信息
返回值类型:ActionForward
1).mapping.findForward(“Forward的名称”);
2).new ActionForward(“jsp组件的路径”);