(1)、Struts2应用开发步骤
1.配置核心Filter (web.xml)拦截用户请求
由于Web应用是基于请求/响应架构的应用,所以不管哪个MVC Web框架,都需要在web.xml中配置该框架的核心Servlet或Filter,这样才可让该框架介入Web应用中(来拦截用户请求)
2.编写 Action类
这步是所有MVC框架中必不可少的,因为这个Action就是MVC种的C,该控制器负责调用Model里的方法来处理请求;
在MVC框架中,控制器实际上由2部分共同组成:拦截所有用户请求,处理请求的通用代码都由核心控制器完成,而实际的业务控制(诸如调用Model,返回处理结果等)则由Action处理
3.配置Action(struts.xml)
<action name=”login” class=”org.crazyit.app.action.LoginAction”> <!—配置处理结果(逻辑视图名)和物理视图资源之间的对应关系--> <result name=”input”>/login.jsp</result> <result name=”error”>/error.jsp</result> <result name=”success”>/welcome.jsp</result> </action>
配置Action就是指定哪个请求对应用哪个Action进行处理,从而让核心控制器根据该配置来创建合适的Actin实例,并调用该Action的业务控制方法当Action处理用户请求结束后,通常会返回一个处理结果(通常使用简单的字符串就可以了)
配置片段指定当lee.LoginAction返回input时,实际将进入/login.jsp页面
4.编写视图资源
Actionr如需传数据给视图资源,可借助OGNL表达式
(2)、Struts2的流程
StrutsPrepareAndExecuteFilter(核心控制器)和XxxAction(业务控制器)共同构成了Struts2的控制器
业务控制器通常并不与物理视图关联,只负责返回处理结果,而该处理结果与怎样的视图关联依然由核心控制器来决定
在Struts2框架的控制下,用户请求不再向JSP页面发送,而是由核心控制器来“调用“JSP页面来生成响应,此处的调用并不是直接调用,而是将请求forward到指定JSP页面