struts
Struts 1.2 工作原理:
1. ActionServlet 核心 控制器会拦截所有 *.do 的请求
2. 从 struts-config.xml 中找到用户请求的 Action
3. 通过 struts-config.xml 中的配置再去找这个 Action 对应的 ActionForm, 并实例化
4. 把用户填写的数据自动填充到 ActionForm 中 ( 调用 ActionForm 中的 setXX() 方法填充 )
5. 同时把 ActionForm 放入到指定的范围中 (request,session)
6. 然后把请求转发给 Action
7. Action 获取 ActionForm 中的值然后调用业务逻辑层实现功能
8. 再通过 ActionMapping 查找 Actionforward 实现转发
工作流程如下:
1. 服务器启动后,根据 web.xml 加载 ActionServlet 读取 struts-config.xml 文件内容到内存。
2. 以登陆为例:第一次进 login.jsp 会先实例化 Form, 把默认值赋给表单元素。
3. 输入用户名密码提交表单、提交到 action 属性的 login.do, 通过 ActionServlet 读 struts-config.xml 文件找到 action 下的 path 属性找到 .do ,通过 name 属性找 form-beans 中的 form-bean 的 name 属性得到 ActionForm 的包名类名,先实例化 form, 把表单的值填充给 form, 调用 form 的 validate 方法验证、 ActionErrors 返回 null 表示验证通过,否则失败返回 input 指定的页面,验证通过会实例化 Action, 执行 Action 的 excute 方法。
添加 struts1.2 支持,乱码处理: filters 文件夹放到工程 src 目录下, web 覆盖。
作业: s2sh 整合增删改查 , 选添加 hibernate, 然后 struts,spring
Struts2 的核心控制器是 FilterDispatcher,
OGNL 的集合操作符:
?: 获取所有符合逻辑的元素
^: 获取符合逻辑的第一个元素
$: 获得符合逻辑的最后一个元素
this : 获取一个对象某个属性值的集合