1. Struts2是什么?
来源:互联网 发布:seo 优化 编辑:程序博客网 时间:2024/05/20 16:43
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。
Struts 2框架的十大功能:
POJO表单和POJO动作
- Struts2的Struts框架已经摆脱了动作表单组成部分, Struts2可以使用任何POJO接收的形式输入。同样现在可以看到任何POJO作为一个Action类。 标签支持
- Struts2中,提高了表单标签和新标签允许开发人员编写更少的代码。 AJAX
支持 - Struts2中已确认由Web2.0技术接管,并整合到产品中,通过创建AJAX标签,功能非常相似的标准Struts2标签AJAX支持。 易于整合
- Struts2 集成各种整合与其他框架如Spring,Tiles 和SiteMesh是现在更容易。 模板支持
- 支持生成使用模板。 插件支持
- 可以提高核心Struts2的特性,并增强使用插件。大量的插件可供Struts2。 性能分析
- Struts2的分析,调试和分析应用程序提供了集成。除此之外,Struts还提供了集成的内置调试工具调试。 易于修改标签
- Struts2的标签标注,可以调整使用Freemarker的模板。这并不需要JSP或Java知识。基本HTML,XML和CSS知识是足够修改标签。 提倡少配置
- Struts2 促进较少的配置的帮助下,使用默认的各种设置值。不必配置的东西,除非它不符Struts2的默认设置。 视图技术:
- Struts2中有一个很大的支持多个视图选项 (JSP, Freemarker, Velocity 和 XSLT)
以上只是Struts2的十大功能,这使得它是企业公司级应用框架。
Struts2的优点(面试)
- Struts2的应用可以不依赖于Servlet API和struts API。
Struts2的这种设计属于无侵入式设计。 - Struts2提供了拦截器,利用拦截器可以进行AOP编程,实现如权限拦截等功能。
- Strut2提供了类型转换器,我们可以把特殊的请求参数转换成需要的类型。
- Struts2提供支持多种表现层技术,如:JSP、freeMarker、Velocity等
- Struts2的输入校验可以对指定方法进行校验。
- 提供了全局范围、包范围和Action范围的国际化资源文件管理实现
Struts 2的缺点:
更大的学习曲线
- 要使用MVC与Struts,你必须是习惯使用标准的JSP,Servlet API和大量精心设计的框架。 欠佳的文档 - Struts有标准的servlet和JSP API的相比,更少的在线资源,许多用户第一时间发现网上Apache文档混乱和管理不善的组织。
较少透明度
- Struts应用程序中,有很多幕后比正常的基于Java的Web应用程序,这使得它很难理解的框架。
后续:随着发展Struts2的不足之处日渐暴露,已有成明日黄花之势,其中SpringMVC慢慢承担了Struts2的角色(Sping有一统江湖的邪念)
- 1. Struts2是什么?
- struts2 是什么?
- struts2中ActionContext是什么
- struts2中ActionContext是什么东东???
- struts2中ActionContext是什么东东???
- struts2中ActionContext是什么东西?
- struts和struts2的区别是什么?
- struts1和struts2的区别是什么?
- struts2的处理请求的全过程是什么
- 深入研究Struts2(一)---Struts2是什么?它的工作原理是什么?
- 深入研究Struts2(一)---Struts2是什么?它的工作原理是什么?
- struts2 拦截器和过滤器的作用是什么
- struts2框架的核心控制器是什么?它有什么作用?
- 讲下SpringMvc的核心入口类是什么,Struts1,Struts2的分别是什么
- 1.linux是什么
- 1.RunLoop是什么?
- 1.WebService是什么?
- 1.Node.js是什么?
- 第三节-网页制作案例
- 萌新求助,搞了好久emmm……
- python里使用正则表达式搜索单词
- Remove Element
- JDBC之Statement,PreparedStatement,CallableStatement的区别
- 1. Struts2是什么?
- ThinkPHP 图片上传 图片异步上传 ajax
- Codevs 1647 炮兵阵地
- scala-io-demo1
- 异常(二)
- spingcloud学习笔记01-- 关于微服务
- HDU 1003 Max Sum
- Oracle_sql 基础_表与约束
- Linux VRF(Virtual Routing Forwarding)的原理和实现