一、Struts是什么?
Struts 是由Apache开源联盟提供的用于快速开发Web应用的基于MVC开发模式的开源框件
它的目标是分离V表示层M模型层C控制层使程序员专注于后台的业务逻辑
二、Struts的执行流程?
当容器接收到客户端的请求时,被ActionServlet拦截,ActionServlet会从struts-config.xml文件中读取配置信息,首先找到相应的path,找不到报路径无效异常。若找到对应path在看是否有name属性.根据配置信息决定是否,
把表单传输的数据保存到相应的ActionForm实例中,然后看validate属性是否为true决定是否在ActionForm中进行数据校验,若没有则直接进去action中,若需要校验,校验失败跳到配置的input属性对应的页面
校验成功进入Action中执行相应业务代码然后根据ActionMapping跳转到相应页面,
三、Struts的优点
所有的控制逻辑都在C中
便于维护
开发速度快,成本低,分工清晰
四、ActionForm
作用:传递数据,校验数据格式
可以将数据封装在一个JavaBean的实体中,在ActionForm中只有一个实例
五、Action
Action是单例的所以尽量避免在Action中使用成员变量。
一个Action中只能有一个方法
DispatchAction
允许将多个相关方法放在一个Action中
配置文件中只有一个Action标签
共用一个ActionForm,通过额外参数Parameter判断调用哪个方法,共用一个path
MappingDispatchAction
允许将多个相关方法放在一个Action中
一个方法对应一个Action标签,直接使用parameter指定调用的方法
LookupDispatchAction
用于解决一个表单有多个同名提交按钮问题
在配置文件中共用一个Action标签
需要用到资源文件,要覆盖getKeyMethodMap()
在该方法中返回一个Map(HashMap)key 为按钮的name,value为方法名
资源文件中,key为按钮的name,value为按钮的value
六、Struts中的异常处理
1).在action中通过编程方式处理:try...catch
2).声明的方式
在struts-cfg.xml中
A. 在全局<global-exceptions>中配置异常页面<exception>
B. 在<action>中配置<exception>
七、Struts中Token的使用
Token防止页面重复提交(必须使用html标签库的form表单)
posted on 2009-03-28 20:16
雨飞 阅读(199)
评论(0) 编辑 收藏