Struts2框架(一)
Struts2框架
一、什么是框架,框架有什么用?
1、框架 是 实现部分功能的代码 (半成品),使用框架简化企业级软件开发 ,提高开发效率。
2、学习框架 ,清楚的知道框架能做什么? 还有哪些工作需要自己编码实现
二、什么是struts2框架,它有什么用?
1、Struts 2是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。
2、其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心
3、struts2=struts1+webwork;
4、struts2框架是apache产品。
5、struts2是一个标准的mvc框架。
6、javaweb中的model2模式就是一个mvc模式。 model2=servlet+jsp+javaBean
7、struts2框架只能在javaweb开发中使用的。
8、使用struts2框架,可以简化我们的web开发,并且降低程序的耦合度。
三、XWork—它是webwork核心,提供了很多核心功能:
1、前端拦截机(interceptor)
2、运行时表单属性验证
3、类型转换
4、强大的表达式语言(OGNL – the Object Graph Navigation Language)
5、IoC(Inversion of Control反转控制)容器等
四、一个请求在Struts2框架中的基本工作过程如下:
操作(Actions) 拦截器(Interceptors) 值栈(Value Stack)/OGNL 结果(Result)/结果类型
而Struts2 与传统的MVC框架略有不同,因为它由Action扮演模型的角色,而不是控制器,虽然这样会有一些重叠。
1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求
2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin);
3、接着StrutsPrepareAndExecuteFilter被调用,StrutsPrepareAndExecuteFilter询问ActionMapper来决定这个请求是否需要调用某个Action(一般web.xml加载过滤器);
4、如果ActionMapper决定需要调用某个Action,StrutsPrepareAndExecuteFilter把请求的处理交给ActionProxy;
5、ActionProxy通过ConfigurationManager询问框架的配置文件,找到需要调用的Action类(配置文件struts.xml);
6、ActionProxy创建一个ActionInvocation的实例。
7、ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。
8、一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。
Struts2下载
第一步: 在以下网址中下载最新的struts2版本。
http://struts.apache.org/download.cgi
第三步:单击“struts-2.3.37-all.zip”下载struts 2.3.37的完整版 。你也可以下载最新版的,但新版是不太稳定,所以我们不推荐使用。
第四步:进行下载文件的文件夹,进行解压
struts 2的目录结构如下图所示。
struts2的目录结构:
(1)apps: 该文件夹包含了基于struts2 的示例应用,这些示例应用对于学习者是非常有用的;例子程序war后缀表示web压缩文件
(2)docs : 该文件夹下包含了struts2 相关文档,包括struts2 快速入门、struts2的文档以及API文档等
(3)lib : 该文件夹下包含了Struts2框架和核心类库,以及struts2第三方插件类库
开发时没必要将lib目录下jar文件全部复制到项目中
(4)src : 该文件夹下包含了Struts2框架的全部源代码
A、core 它是struts2的源代码
B、xwork-core struts2底层使用了xwork,xwork的源代码