资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
工作原理:请求处理流程:1、 用户访问登陆页面login.jsp,输入信息,提交;2、 将信息传给Form表单的Action属性指定的Servlet处理;根据web.xml中的配置信息:服务器会将所有.do的请求交给ActionServlet处理,ActionServlet会在Struts-config.xml中搜索相应的自定义Action(继承Action的类)处理。注:(ActionServlet是一个Servlet,是Struts框架的总控制器,它在web.xml中配置成自动启动的Servlet。)在上图的实例中会匹配/login节点,将请求交给LoginAction处理,并且同时会将表单信息保存到LoginForm的对象中,将对象保存在Servlet Context中(request或sesion中),这样它就可以被其它Action和JSP页面调用;调用Action的execute()方法;3、 LoginAction会接收信息并进行业务处理,并返回Forward Keyword给ActionServlet;注:Action一般只包含一个execute()方法,它负责执行相应的业务逻辑(调用其它业务模块)。完毕返回一个ActionForward对象,控制器通过该ActionForward对象来进行转发工作。4、 ActionServlet在Struts-config.xml中的节点/login中搜索与Forward Keyword匹配的节点,并返回该节点指定的页面(或另一个Action);5、 响应用户,将页面展现给用户。ActionForm类 :1、无参构造器必须有 2、Scope(Action节点的属性,指定ActionForm的存储位置request/session)缺省值是session 3、控制器调用ActionForm的setter方法初始化ActionForm的属性,实质上是调用对应的标准set方法。例如:Form表单中有name=”username”的输入框,则调用ActionForm 的setUsername()方法Action节点属性:1、attribute:指定存储ActionForm类到Scope指定的位置的时候的关键字(别名),缺省值与name一样 2、validate:是用于控制是否校验表单(校验开关),true(缺省值)-校验,false-不校验 3、input:如果表单校验不通过则跳转到该值指定的模块,一般结合validate=true来使用(只有这个时候才校验)全局跳转:有两个或两个以上的Action都需要使用的跳转Action A-error.jspAction B-error.jspAction C-error.jspAction A,B,C-error.jsp如果在struts-config.xml中进行了如下配置:则所有Action都可以使用该跳转:传智播客版本的struts:开发以下类:1、 ActionServlet读取配置:dom4j填充form:派发请求:调用对应的action的execute方法查找响应:2、 ActionFormReset()Validate()3、 ActionExecute(ActionMapping,ActionForm,HttpServletRequest, HttpServletResponse)4、 ActionMapping属性:PathNameTypeValidateForwards :HashMap5、 ActionForwardNamePath6、 配置文件版权所有7、ActionConfig,FormConfig
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号