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 + -
显示快捷键?