struts2的set get方法工作原理 在处理参数上的机制
2013-07-04 18:31
357 查看
1,其实,你在调用这个ACTION的时候是首选调用了2的一个拦截机制(拦截器) 2,调用拦截机制的时候,2会把你的URL作为一个参数进行解析 3,通过一个反射机制和STRUTS2.XML的配置解析出你的动作 4,通过解析后得到你的域名。类名,方法名,属性名 5,然后通过你的类名(其实是个字符串比如com.cn.test.myname.myaction)然后用反射机制初始化你的类实例 6,然后透过线程保存JSP页面传过来的REQUEST 7,然后得到你的属性(type),第4步已经得到了你在类中定义的GET,SET方法了。然后把这个TYPE=1的值,利用反射得到SET方法,并且赋值给类的TYPE属性, 在以上的步骤中并没有真正调用方法,但属性值已经赋值了 8.其次,如果你的配置文件中配置了要调用的方法名,在解析的时候会得到,如果没有定义方法名(也即是只有一个方法,这样解释是只有一个,如果是多个,那必须是有方法别名的,不然是找不到的) 9,通过方法名然后反射到你的类中的方法名, 10,执行你的方法 11,执行完成后,通过返回的STRING(1)找到当时解析XML时保存的STRING(2)返回值(这个返回是XML定义的,不要搞混了)而第一个STRING(1)是你执行方法后返回的 12,他们直接匹配后拦截器返回当时你配置的页面, 13,成功返回你的结果否则内部报错,拦截失败(报错可能不是你想像的有时拦截器没有那么智能) 14,当再次提交是会和内存的匹配,如果有变动,一新的解析为准,进行从1-13的循环。 15,整个过程就是这样
相关文章推荐
- struts2的常量、动态方法调用、接受请求参数处理、类型转换
- struts2 笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用
- struts2的常量、动态方法调用、接受请求参数处理、类型转换 .
- Struts2调用Action的两种方法以及参数处理
- 使用<a>标签调用struts2的action、传递动态参数、以及参数中出现加号等特殊字符的处理方法
- Struts2学习之Action接收参数方法一(属性接收参数(属性驱动))
- 【#】Spring3 MVC (三)---请求处理方法 参数及返回值总结
- C++的引用传递、指针传递参数在java中的相应处理方法
- struts2的在aJax中无法传参数到后台使用:解决方法
- Struts2中Action接收参数的方法
- 工作中的趣事:聊聊ref/out和方法参数的传递机制
- Ext为处理函数自定义输入参数的四种方法(转载)
- js事件驱动机制 浏览器兼容处理方法
- JAVA 中URL链接中文参数乱码的若干处理方法
- $.getJSON() 方法第二个参数的使用以及后台servlet如何处理。
- Struts2中Action接收参数的方法
- C++编译器对属性和方法的处理机制
- struts2中action接收参数的方法
- mybatis学习之CLOB、BLOB处理及多参数方法映射
- Struts2_三种传参数方法