struts1.2和2.0的工作原理

本文详细介绍了Struts1.2和Struts2.0的工作流程,包括从用户请求开始到视图展示的全过程。在Struts1.2中,ActionServlet作为核心控制器拦截请求,而Struts2.0则直接处理*.action请求并通过配置文件映射到具体的处理方法。
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实现转发; 

流程如下:
Struts的流程 
  服务器启动后,根据web.xml加载ActionServlet读取struts-config.xml文件内容到内存。 
  以登陆为例:第一次进login.jsp会先实例化Form、把默认值赋给表单元素。 
  输入用户名密码提交表单、提交到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方法。

 

struts 2.0的工作原理:
(省略服务器启动部分,呵呵)
1.当用户在页面上进行操作时,生成了*.action的请求传给struts.xml(MVC中的V) 
2.服务器根据这个配置文件中所定义的action名称,寻找匹配的处理方法:如果没有定义method,则直接调用的是class里面的类的execute方法,如果定义了method,则是调用的class类里的method中所指明的方法(MVC中的C) 
3.在method中进行处理,在这里有可能采用若干高深莫测的方法,但都属于较为底层的工作,比如访问数据库等等(MVC中的M) 
4.方法处理完后(可能有一串的处理方法,但终究有一个方法是最终进行的),return了一个字符串,比如success、error等,并将这个字符串送回给struts.xml,struts.xml在前面action标签内部定义的若干个result中,找到name属性与返回字符传相同的,然后根据type的类型,向指定页面进行跳转。(MVC中的C) 
5.跳转的页面接受到了请求,生成页面在浏览器里进行显示。(MVC中的V) 

 

【无人机】基于改进粒子群算法的无人机路径规划研究[遗传算法、粒子群算法进行比较](Matlab代码实现)内容概要:本文围绕基于改进粒子群算法的无人机路径规划展开研究,重点探讨了在复杂环境中利用改进粒子群算法(PSO)实现无人机三维路径规划的方法,并将其与遗传算法(GA)、标准粒子群算法等传统优化算法进行对比分析。研究内容涵盖路径规划的多目标优化、避障策略、航路点约束以及算法收敛性寻优能力的评估,所有实验均通过Matlab代码实现,提供了完整的仿真验证流程。文章还提到了多种智能优化算法在无人机路径规划中的应用比较,突出了改进PSO在收敛速度全局寻优方面的优势。; 适合人群:具备一定Matlab编程基础优化算法知识的研究生、科研人员及从事无人机路径规划、智能优化算法研究的相关技术人员。; 使用场景及目标:①用于无人机在复杂地形或动态环境下的三维路径规划仿真研究;②比较不同智能优化算法(如PSO、GA、蚁群算法、RRT等)在路径规划中的性能差异;③为多目标优化问题提供算法选型改进思路。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注算法的参数设置、适应度函数设计及路径约束处理方式,同时可参考文中提到的多种算法对比思路,拓展到其他智能优化算法的研究与改进中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值