首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

struts1学习札记一

2012-10-29 
struts1学习笔记一Struts1----------1、ActionForm实现功能a、封装请求提交数据传递至Actionb、手动编程实现

struts1学习笔记一
Struts1
----------
1、ActionForm实现功能
a、封装请求提交数据传递至Action
b、手动编程实现表单服务器端验证

2、表单验证成功
a、返回null
b、返回ActionErrors,但里面没内容

Struts1流程
--------------
1、提交请求
http://localhost:8888/struts1/login.do
2、请求由ActionServlet截获
web.xml
------------------------------------------------
<servlet-mapping>
<url-patter>*.do</url-pattern>
</servlet-mapping>
a、获取请求ServletPath去除后缀的内容-->"/login"
b、和Struts-config.xml文件内容比对
<ation path="/login">
   如无符合内容,显示404错误
   如果有,则进一步看该Action是否配置有ActionForm
3、实例化ActionForm以及调用相关方法
a、从指定作用域(request,session)看ActionForm是否实例化,如无则实例化
b、调用setXxx方法,实现传递请求参数值
c、根据配置信息,调用validate()方法
<action validate="true"...
d、如成功,进一步调用Action方法,否则,返回input指定的路径显示
<ation input="/login.jsp"...
4、实例化Action以及调用相关方法
a、调用execute()方法,调用过程中有可能访问ActionForm或者业务逻辑层代码
b、调用结束返回ActionForward对象
5、根据ActionForward对象返回请求响应结果
a、调用ActionForward对象getPath()拿到跳转路径
b、使用forward或者redirect方式跳转





Struts2流程
--------------
1、提交请求
http://localhost:8888/struts1/login.action

2、请求由FilterDispatcher截获
web.xml
------------------------------------------------
<servlet-mapping>
<url-pattern>/*</url-pattern>
</servlet-mapping>
a、获取请求ServletPath去除后缀的内容和/-->"login"
b、和Struts.xml文件内容比对
<ation name="login"
如无符合内容,显示404错误
   如果有,则通过代理模式(ActionProxy)调用Action
  
3、使用ActionProxy调用Action方法
a、通过Action在struts.xml文件中拦截器的配置情况调用拦截器
<action..
<interceptor-ref name=""/>
</action>
b、拦截器有可能通过调用Action对象的setXxx()方法实现传递请求参数
c、拦截器有可能通过调用Action对象的validate()方法实现表单验证
   如成功,进一步调用 Action对象execute方法,否则,返回input名称的result指定的路径显示
   <result name="input">/login.jsp</result>

4、执行execute()方法
a、调用execute()方法,调用过程中业务逻辑层代码
b、调用结束返回字符串对象

5、根据字符串对象返回请求响应结果

热点排行