博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts2工作流程
阅读量:6771 次
发布时间:2019-06-26

本文共 868 字,大约阅读时间需要 2 分钟。

Struts2是一个非常优秀的MVC框架,它主要通过StrutsPrepareAndExecuteFilter过滤器将Struts2集成到Web应用中的。
基本工作流程
1、客户端提交一个HttpServletRequest请求(action或JSP页面);
2、请求经过一系列的过滤器(如ActionContextCleanUp,SiteMesh等);
3、Struts2的核心过滤器StrutsPrepareAndExecuteFilter被调用,并询问ActionMapper来决定这个请求是否需要调用某个Action;
4、ActionMapper决定要调用那一个Action,StrutsPrepareAndExecuteFilter把请求交给ActionProxy来处理;
5、ActionProxy通过Configurate Manager询问框架的配置文件struts.xml,找到要调用的Action类;
6、ActionProxy创建一个ActionInvocation实例,通过代理模式调用Action;
7、Action执行完毕后,返回一个result字符串,此时再按相反的顺序通过Intercepter拦截器;
8、然后ActionInvocation实例根据struts.xml的配置,找到与之相对应的result,并返回结果。
 
基本简要流程
1、客户端浏览器发出HTTP请求;
2、根据web.xml配置,该请求被StrutsPrepareAndExecuteFilter接收;
3、根据struts.xml配置,找到需要调用的Action类和方法, 并通过IoC方式,将值注入给Aciton;
4、Action调用业务逻辑组件处理业务逻辑;
5、Action执行完毕,根据struts.xml中的配置找到对应的返回结果result,并跳转到相应页面;
6、返回HTTP响应到客户端浏览器。

转载于:https://www.cnblogs.com/peterwang521/p/6822615.html

你可能感兴趣的文章
判断访问端是手机还是电脑
查看>>
一文彻底搞懂面试中常问的各种“锁”
查看>>
java 出现unreachable statement异常
查看>>
Java多线程学习:多个线程间共享数据
查看>>
设计模式----状态模式
查看>>
mybatis mapper.xml文件中 小于"<" 和 大于">" 的问题
查看>>
【转】Java Crash原因汇总
查看>>
cocoapod的报错处理:The dependency `xxx` is not used in
查看>>
Redis常用命令
查看>>
国内下载golang.org/x简单方法
查看>>
java使用https post发送json数据
查看>>
Vue.js学习笔记三
查看>>
zero copy
查看>>
Lua学习笔记-逻辑判断和循环控制语句
查看>>
diy acm对抗赛
查看>>
Mybatis中resultMap
查看>>
mybatis 立即获取新插入的数据主键id
查看>>
Web项目防止表单提交,异常提交验证
查看>>
Guava新集合-RangeMap
查看>>
nodejs实现图片、word的批量生成(开发思路)
查看>>