struts流程.txt

来自「这是我刚刚学STRUTS的时候做的一点东西」· 文本 代码 · 共 26 行

TXT
26
字号
http://localhost:8080/Struts/user/login.do
1.ActionServlet根据请求中的/user找到moduleConfig(模块)
2.moduleConfig找到模块所对应的RequestProcessor(请求处理器)
3.RequestProcessor根据请求中的/login找到ActioinMapping
(是包含在moduleConfig中的actionConfigs集合)
4.判断ActionMapping的name属性是否为空,
	为空:代表此Action没有使用ActionForm
	不为空:代表此Action使用ActionForm
		1.到范围(scope:[request,session])中找有没有这样的ActionForm
		(根据ActionMapping中的Attribute属性作为key去找)
	如果有,就直接拿来使用
	如果没有,创建一个放入范围中
		2.调用ActionForm中的reset()方法,意图将ActionForm中
		  所有字段设为初始值
		3.将请求中的参数,通过反射的方式填充(调用了参数名
		  所对应的setter方法)进此ActionForm中
		4.调用ActionForm中的validate()方法,进行验证,并判断
		  返回值(ActionErrors)
			为null:继续执行
			不为null:跳转到ActionMapping的input属性所对应的页面。
5.ActionMapping根据type属性找到对应的Action
6.Action再从ActionMapping中根据逻辑找到ActionForward
(包含在ActionMapping中的一个actionforwards的集合)交还给
RequestProcessor
7.RequestProcessor根据ActionForward中的path属性进行请求派发
或者重定向(redirect)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?