Struts2框架概述
Struts2是基于MVC模式的轻量级Web框架,它自问世以来,就收到了广大Web开发者的关注,并广泛应用于各种企业系统的开发中。目前掌握Struts2框架几乎成为Web开发者的必备技能。
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2是Struts的下一代产品,是在struts1和WebWork的技术基础上进行了合并的全新的Struts2框架。其全新的Struts2的体系结构与Struts1的体系结构相差巨大。Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts2可以理解为WebWork的更新产品虽然从Struts1到Struts2有着巨大的变化,但是相对于WebWork,Struts2的变化很小。
Struts2拥有优良的设计和功能,其优势具体如下:
- 项目开源,使用及拓展方便,天生优势
- 提供Exception处理机制
- Result方式的页面导航,通过Result标签很方便的实现重定向和页面跳转
- 通过简单、集中的配置来调度业务类,使得配置和修改都非常容易
- 提供简单、统一的表达式语言来访问所有可供访问的数据
- 提供标准、强大的验证框架和国际化框架
- 提供强大的、可以有效减少页面代码的标签
- 提供良好的Ajax支持
- 拥有简单的插件,只需放入相应的JAR包,任何人都可以扩展Struts2框架,比如自定义拦截器,自定义结果类型、自定义标签等,为Struts2定制需要的功能,不需要什么特殊配置,并且可以发布给其他人使用。
- 拥有智能的默认设置,不需要另外进行繁琐的设置。使用默认设置就可以完成大多数项目程序开发所需要的功能。
前端控制器模式
在传统的开发方式中,有一次请求就会对应一个Servlet。这样会导致出现很多Servlet。而Struts2将所有的请求都先经过一个前端控制器,在前端控制器中实现框架的部分功能,剩下具体操作要提交到具体的Action中。那么所有的请求都会经过前端控制,那么用什么来实现前端控制呢?过滤器就是最好的一个实现方式,因为需要所有的请求都可以被过滤器拦截,然后再过滤器中实现部分的功能。所以Struts2的前端控制器也是由过滤器来实现的。
传统开发方式:

前端控制器模式:

Struts2依赖的基础JAR包

| 文件名 | 说明 |
|---|---|
| asm-3.3.jar | 操作java字节码的类库 |
| asm-commons-3.3.jar | 提供了基于事件的表现形式 |
| asm-tree-3.3.jar | 提供了基于对象的表现形式 |
| struts2-core-2.3.24.jar | Struts2框架的核心类库 |
| xwork-core-2.3.24.jar | WebWork核心库,Struts2的构建基础 |
| ognl-3.0.6.jar | 对象图导航语言(Object Graph Navigation Language),Struts2框架通过其读写对象的属性 |
| freemarker-2.3.22.jar | Struts2标签模板使用的类库 |
| javassist-3.11.0.GA.jar | JavaScript字节码解释器 |
| commons-fileupload-1.3.jar | Struts2文件上传组件依赖包 |
| commons-io-2.2.jar | Struts2的输入输出,传文件依赖的jar |
| commons-lang-2.4.jar | 包含一些数据类型工具,是对java.lang包的增强 |
| log4j-api-2.2.jar | Struts2的日志管理组件依赖包的api |
| log4j-core-2.2.jar | Struts2的日志管理组件依赖包 |
160

被折叠的 条评论
为什么被折叠?



