Struts流程

1,在web.xml中定义配置框架的核心Servlet或Filter
eg:在web.xml中添加如下

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-mapping>/*</url-mapping>
</filter-mapping>

2,定义包含表单数据的jsp页面。
3,定义处理用户请求的Action类,Action是MVC中的C,Controller即控制器,负责调用Model里的方法来处理请求,
MVC的底层机制是:
核心Servlet或Filter接收到用户请求后,通常会对用户请求进行预处理,然后通过反射来创建Action实例,并调用Action的指定方法execute()来处理用户请求。
当Servlet或Filter拦截用户请求后,利用配置文件或利用约定来知道创建哪个Action的实例。
在MVC框架中,控制器实际由2个部分组成,拦截所有用户请求,处理请求的通用代码都由核心控制器完成,而实际的业务控制(如调用Model,返回处理结果等)则由Action处理,
4,配置Action,使用XML来配置管理,配置Action就是制定哪个请求对应用哪个Action进行处理,从而让核心控制器根据配置来创建合适的Action实例,并调用该Action的业务控制方法。

<action name="login" class="org.crazyit.app.action.LoginAction">
</action>
采用约定方式 来规定用户请求地址和Action之间的对应关系。

5,配置处理结果和物理视图资源之间的对应关系
当Action处理用户请求后,通常会返回一个处理结果,还需要配置处理结果之间的对应关系。

<action name="login" class="irg,crazyit.app.action.LoginAction">
    **<result name="input">/login.jsp</result>
    <result name="error">/error.jsp</result>
    <result name="success">/welcome.jsp</result>**
</action>

上面指定了三个处理结果result name和三个物理视图之间的映射关系,配置片段指定当LoginAction 返回input时,实际将进入/login.jsp页面;
当返回error时,实际将进入/error.jsp页面;当返回successs时,实际将进入/welcome.jsp页面。
6,编写视图资源

请求->响应的流程
1,浏览器发送请求给StrutsPrepareAndExecuteFilter
2,StrutsPrepareAndExecuteFilter调用execute方法给XXXAction
3,调用XXXAction的业务方法
4,返回业务结果
5,XXXAction返回逻辑视图名给StrutsPrepareAndExecuteFilter
6,StrutsPrepareAndExecuteFilter forward到物理视图
7,视图页面生成响应内容
8,StrutsPrepareAndExecuteFilter输出响应到浏览器
struts.xml配置文件最大的作用就是配置Action和请求之间的对应关系,并配置逻辑视图名和物理视图资源之间的对应关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值