Neil's Blog
每个人都有自己该做的事,把自己该做的事做好,就是成功。

小弟刚开始学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工作流程的理解。
其他内容还需要进一步的学习,希望喜欢的朋友捧场和指点,谢谢

posted on 2006-05-28 19:38 Neil's Java 阅读(224) 评论(4)  编辑  收藏 所属分类: Struts

FeedBack:
# re: Struts学习笔记(一)
2006-06-03 23:52 | candyjin
真复杂啊^^"

人家不懂这个~~只做过时间轴而已~~~

你果然厉害OTL...  回复  更多评论
  
# re: Struts学习笔记(一)
2006-06-04 11:53 | Neil's Java
好,以后做个时间轴。。  回复  更多评论
  
# re: Struts学习笔记(一)
2006-06-04 20:48 | MC
顶个,目前处于迷茫期,以后再一起研究  回复  更多评论
  
# re: Struts学习笔记(一)
2006-06-04 22:37 | candyjin
时间轴比这个简单多了= = +

不用动脑子的....只要熟练就好了!

可惜要内嵌的话~我小电要当掉的~~~

内存不够大~~拖不动TT TT  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问