struts1处理原理

[size=x-large][color=red][b][align=center]struts1处理原理[/align][/b][/color][/size]


[img]http://dl.iteye.com/upload/picture/pic/118819/8a68f479-30f0-325a-b2f4-121324c30788.jpg[/img]


[img]http://dl.iteye.com/upload/picture/pic/118821/5be3d99f-e92f-33f4-8a7b-75bb45795835.jpg[/img]

ActionServlet是如何传递请求的,如何和ActionForm、ActionMapping、Action交互

[img]http://dl.iteye.com/upload/picture/pic/119578/c462af2d-9ad7-3263-b994-ffdaa65a8e5f.jpg[/img]


[size=medium][color=green][b]1.struts2.x Action里面的属性什么时候实例化:[/b][/color][/size]
struts2 的action不是单例,默认都是每一个请求都会new 一个action。
所以action的javabean属性在每一次请求都有实例化一次,也是在这时候才实例化的。
原理:是在struts2调用完拦截器栈之后,调用响应Action的execute方法前
详细的说:struts2在接受一个请求之后,会建立相应请求的Action对象,同时生成管理其上下文的ActionContext对象,并将javabean(即Action对象)的属性放到Valuestack栈顶,将这些属性初始化,之后struts2会调用拦截器栈中的拦截器(注意这些拦截器会改变valuestack中属性的值,如params拦截器会完成将表单字段映射到valuestack属性上。。。),在调用结束后,struts2会将valuestack中的属性映射赋值给Action对象属性,最后调用action方法。


[size=medium][color=green][b]2.struts1.x ActionForm什么时候实例化:[/b][/color][/size]
a.Tomcat启动--->先加载<param-name/>和<listener/>--->当<servlet/>里面的<load-on-startup>2</load-on-startup>就[color=red]初始化ActionServlet[/color],加载<init-param>中所有的配置文件(struts-config.xml等)到内存
将applicationContext.xml中的DBresource、DAO、Service、Action注入好保存在上下文中,将struts-config.xml文件里面的beanform、action、jsp等的映射关系都保存在actionmapping中存入上下文中。

b.URL访问--->[color=red]实例化ActionServlet[/color],ActionServlet实例对象拦截请求,截取URL--->去actionMapping中映射匹配此action---->找到相应的actionmapping保存到request中--->将表单数据保存到map<name,value>中,映射beanForm,循环将表单数据set()到beanForm中,保存到request或session中---->调用真正的action处理类,将beanForm装换为底层数据库的javaBean即Entity,service.save(entity) ;---->

c.HibernateTemplate.save(entity.class)---->Hibernate自动生成hql--->DB

d.action类里面,service.save(Entity)成功后,返回一个ActionForward给ActionServlet,控制跳转到相应action或jsp---->response响应用户请求,结束!
【无人机】基于改进粒子群算法的无人机路径规划研究[和遗传算法、粒子群算法进行比较](Matlab代码实现)内容概要:本文围绕基于改进粒子群算法的无人机路径规划展开研究,重点探讨了在复杂环境中利用改进粒子群算法(PSO)实现无人机三维路径规划的方法,并将其与遗传算法(GA)、标准粒子群算法等传统优化算法进行对比分析。研究内容涵盖路径规划的多目标优化、避障策略、航路点约束以及算法收敛性和寻优能力的评估,所有实验均通过Matlab代码实现,提供了完整的仿真验证流程。文章还提到了多种智能优化算法在无人机路径规划中的应用比较,突出了改进PSO在收敛速度和全局寻优方面的优势。; 适合人群:具备一定Matlab编程基础和优化算法知识的研究生、科研人员及从事无人机路径规划、智能优化算法研究的相关技术人员。; 使用场景及目标:①用于无人机在复杂地形或动态环境下的三维路径规划仿真研究;②比较不同智能优化算法(如PSO、GA、蚁群算法、RRT等)在路径规划中的性能差异;③为多目标优化问题提供算法选型和改进思路。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注算法的参数设置、适应度函数设计及路径约束处理方式,同时可参考文中提到的多种算法对比思路,拓展到其他智能优化算法的研究与改进中。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值