浏览 1266 次
锁定老帖子 主题:struts1.2重点解析1
精华帖 (0) :: 良好帖 (0) :: 新手帖 (3) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-09-20
最后修改:2009-09-21
<servlet> <servlet-name> <servlet-class>org.apach.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/strutx-config.xml</param-value> </init-param> <servlet> struts-config.xml基本配置信息: <struts-config> <data-sources /> <form-beans /> <global-exceptions /> <global-forwards /> <action-mappings> <action path="/login" type="com.xxx.LoginAction" /> </action-mappings> <message-resources parameter="com.xxx.ApplicaionResources.properties" /> </struts-config> ------------ struts 执行步骤 1. 载入web.xml, 实例化ActionServlet 2. 执行到ActionServlet中的init方法, 将<init-param>里的名为config的值读出来, 这个值, 对应struts-config.xml的所在位置和文件名 3. 生成ActionMapping对象, 这个对象里放的都是struts-config.xml中的配置内容以键值 对的方式. <action path="" type="" /> 第一个对应是把<form action="login.do">和<action path="/login"> login.do -> login, path中,是不用写.do 如果对应不上, 出错 如果对应上, 把对应的struts-config.xml中的action段的内容读到ActionMapping对象 中. 经过这三步后,我们现在有三个东西,request, response, ActionMapping 4. 从ActionMapping中获得type的值, 5. 通过反射, 生成这个type值对应类的实例. 6. 调用对应的Action实例execute方法. 7. ActionServlet里还要收集这个Action的返回 <forward name="ok" path="/success.jsp" /> ActionMapping对象的findForward("xx")方法找到相应的forward findForward方法返回的是一个ActionForward对象,把这个ActionForward对象 返回给ActionServlet 8. ActionServlet中解析出ActionForward对象里的地址, 并跳转. <form-bean name="loginForm" type="" /> <action name="loginForm" type="" path="" /> <action xxx validate="true" input="/login.jsp" /> input表示如果没验证通过就跳转到哪去? <action attribute="aaa" scope="request|session" /> request.get|setAttribute("aaa", new ActionForm); findForward方法找寻的时候,首先找当前配置段中局部forward,如果找不到,再找全局的. --------------------------------------- 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |