1.框架?
半成品技术,把很多的底层细节、通用的业务流程等等加以封装,然后开发者在这个基础上进行开发,可以显著提高开发效率;减少开发难度,让开发者的精力更多的关注到项目的业务上面
2.struts2框架?
struts2是基于MVC设计模式的web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互
原来的的项目的mvc模式
3.struts2的执行原理
执行流程:
当Web容器收到请求(HttpServletRequest)它将请求传递给一个标准的的过滤链包括(ActionContextCleanUp)过滤器。
经过Other filters(SiteMesh ,etc),需要调用FilterDispatcher核心控制器,然后它调用ActionMapper确定请求哪个Action,ActionMapper返回一个收集Action详细信息的ActionMaping对象。
FilterDispatcher将控制权委派给ActionProxy,ActionProxy调用配置管理器(ConfigurationManager) 从配置文件中读取配置信息(struts.xml),然后创建ActionInvocation对象。
ActionInvocation在调用Action之前会依次的调用所用配置拦截器(Interceptor N)一旦执行结果返回结果字符串ActionInvocation负责查找结果字符串对应的(Result)然后执行这个Result Result会调用一些模版(JSP)来呈现页面。
拦截器(Interceptor N)会再被执行(顺序和Action执行之前相反)最后响应(HttpServletResponse)被返回在web.xml中配置的那些过滤器和核心控制器(FilterDispatcher)
4.Struts2的使用
①.引入struts2的jar包
基础jar包
②.在web.xml配置核心控制器
③.编写业务控制器Action
有三种编写Action的方式
a.创建普通类,其中包含一个exeute()
b.创建普通类,实现action接口,重写其中的execute()方法
c.创建普通类,基层ActionSupport(ActionSupport是Action的实现类)的父类,重写其中的execute()方法
④.在src目录下编写struts.xml文件(两个最基本的作用:1.怎么访问到action2.访问完action后怎么跳转到对应的资源)