Struts学习笔记(一)

Struts学习笔记(一)

小弟刚开始学struts,希望能和各位新手和高手一起讨论学习,提高自己的水平。如果在文章中有什么错误的地方,希望大家能给我指点,欢迎大家的指点。
在学习中,Struts结构中,最主要的是5个类:
ActionServlet、ActionForm、ActionForward、ActionMapping、Action
这5个类,我们需要编写主要是ActionForm和Action类,Struts核心控制器是ActionServlet,这个类我们也可以自己扩展编写子类,不过在一般的应用系统中,不要自己进行扩展就足够了。
在核心处理中,操作主要集中在ActionServlet和RequestProcessor两个类,它们是中央控制器的核心内容。
首先是ActionServlet类,它继承与HttpServlet,它的主要任务是:
1.接受用户的请求
2.根据request,调用合适的模型组件来执行相应的业务逻辑
3.获取执行结果
4.根据当前状态,以及逻辑执行结果,选择合适的组件返回给用户。
它的init()方法中,主要是初始化框架结构中各个组件的初始化参数,在doGet()和doPost()方法中都调用了process()方法,主要是获取RequestProcessor对象,并执行这个对象的process()方法。
在RequestProcessor类中,主要用process()方法,主要流程是:
1.调用processPath()方法获取请求的URI的路径。
2.调用processMapping()寻找和用户请求的URI匹配的ActionMapping。
3.调用processActionForm()方法判断是否存在ActionForm对象,如果不存在就新建一个对象。
4.调用processPopulate()把表单中的数据填充到ActionForm对象中去。
5.调用processValidate()访问想对应的ActionMapping对象中Validate是否为true,如果是就调用ActionForm中的Validate()方法对数据进行检验。
6.调用processActionCreate()判断是否在Action缓存中存在这个Action,如果没有就新建一个。
7.调用processActionPerform()它主要调用Action对象中的execute()方法。
8.调用processActionForward()把第7步返回的对象作为参数,进行页面的选择返回给用户。
以上就是我在阅读Struts源码后,对Struts工作流程的理解。
其他内容还需要进一步的学习,希望喜欢的朋友捧场和指点,谢谢

你可能感兴趣的:(Struts学习笔记(一))