StrutsMVC(原理)

分层是指分职责,MVC框架通过一个servlet拦截所有的url请求,然后转向到对象的servlet服务进行处理。

MVC框架有两种,面向请求驱动(Struts1/Struts2),面向事件驱动(JSF)。

面向请求驱动的MVC实现原理:一个由Servlet实现的前端控制器得到所有请求的url,然后控制器在分发请求。

 //获取当前的url
  String currentURL=req.getRequestURI();
  String path=currentURL.substring(currentURL.indexOf("/",1));
  path=path.substring(0, path.indexOf("."));

Struts的MVC实现原理:

浏览器请求到ActionServlet前端控制器中,ActionServlet分析请求url,读取Struts-config.xml解析出相应的action中,将表单中的数据放到ActionForm中,然后到相应的action,调用模型层处理ActionForm中的数据,处理数据后将跳转地址ActionForward返回到ActionServlet,ActionServlet解析ActionForward找到跳转的页面,随后生成jsp页面,最后发送到浏览器。

ActionForm对象:在action中获取数据的时候可以不用HttpServletRequest对象,而是用ActionForm对象获得,在此ActionForm相当于收集了表单上的数据。

ActionForward对象:当action中返回跳转地址的时候是用的是ActionForward对象,该对象包含了更多的跳转信息。

AcctionMapping对象:当进入action请求的时候,acctionmapping会把struts-config.xml中请求对应的配置信息取出,

解析struts-config.xml在init方法里面,其他的操作都可以在service里面进行

原文地址:https://www.cnblogs.com/jinzhengquan/p/1952463.html