struts2的作用是什么
struts2是一种重量级的框架,位于MVC架构中的controller,可以分析出来,它是用于接受页面信息然后通过内部处理,将结果返回。
同时struts2也是一个web层的MVC框架,那么什么是struts2中的MVC呢?
我们可以联想一下struts2的使用流程,我们需要先通过过滤器,调用URL判断使用哪个Action,再由Action决定返回结果,继而 提交请求。那么这就构成了一个MVC架构,由过滤器(Controller)控制选择动作Action(Model),获得结果Result(View),向控制器提交请求。
所以从宏观架构的角度来讲,struts2就是联系了模型层和视图层,将用户要求按照业务逻辑执行并且返回结果。
简要概括一下它的作用,无非在于传递参数,将请求发送给合适的控制器,在控制器中调用业务接口,最后将业务接口返回的结果返回给指定的视图。
但是说了这么多,我们还没有看到struts2的优越之处,所以我们为什么要选择他作为控制层呢?这里我们需要了解一下,在struts2框架出现之前,我们是使用sevlet来进行操作的,也就是说struts2是淘汰掉了servlet,那么让我们来做一个对比。
我们主要从三方面来对比:
①配置:当我们配置servlet的时候,我们需要在web.xml中配置很多,也就是说一个servlet我们就需要配置一段代码,这样不仅会导致web.xml中的代码过于繁多,并且不利于分组开发,需要手动配置二级的URL-PATTERN。
而在使用struts2的时候就很好的解决了这个问题,我们引用专门的XML文件,配置package属性和action属性,大大增加了配置代码的可读性,而且结构层次清晰,提升了分组开发的效率。
②测试:当我们需要测试我们的代码的时候,使用servlet的我们必须要配置两个与容器相关的参数,HttpServletResponse和HttpServletRequest,这样就会增加我们的工作量,而struts2则可以很好的独立完成单元测试。
③传参:每次传参的时候,使用servlet我们就必须手动操作作用域,如果serlvet方法非常多的情况下,就会很大程度上影响开发,在struts2中,我们的默认过滤器栈中自带了自动收参的方法,极大的便利了我们的开发。
在其他的方面其实struts2也有很大的优势,比如全局异常的设置比如拦截器的配置比如...
简要概括使用流程:
①导入jar包
②配置核心过滤器
③创建Action,书写代码并配置返回值
④配置配置文件
总结一下struts2的好处:
struts2将应用分层,使产品结构清晰,能够减少代码的维护量,同时能够使开发人员分层实现,也就是说Java程序员可以只专注于业务逻辑的实现
项目开源,使用及扩展方便
提供了强大的全局异常处理机制;
Result方式的页面导航,通过 Result 标签很方便的实现重定向和页面跳转;
通过简单、集中的配置来调度业务类,使得配置和修改都非常容易;
提供简单、统一的表达式语言来访问所有可供访问的数据(OGNL);
提供标准、强大的验证框架和国际化框架;
提供多种表现层的技术支持和页面标签,大大简化开发;
拥有简单的插件,只需要放入响应的 jar 包,任何人都可以扩展 Struts2 框架,比如:
自定义拦截器、自定义结果类型、自定义标签等,为 Struts2 定制需要的功能,不需要什么特殊的配置,并且可以发布给其他人使用。
拥有智能的默认设置,不需要另外进行繁琐的设置。使用默认设置就可以完成大多数项目程序开发所需的功能。
struts2的作用是什么的更多相关文章
- Struts2常用标签
Struts2常用标签总结 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的 ...
- JSTL标签,EL表达式,OGNL表达式,struts2标签 汇总
一下纯属个人总结摘抄,总结一起方便查看,解决疑问,有遗漏或错误,还请指出. 1,JSTL标签总结: a).JSTL标签有什么用? JSTL是由JCP(Java Commu ...
- Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用
我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的 ...
- Struts2入门到放弃
写在前面------------------------------------------------------------------------- 本文章主要从三个方面来学习Struts2框架 ...
- struts2标签使用详解
Struts2常用标签总结一 介绍1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的代码 ...
- Struts2常用标签总结
Struts2常用标签总结 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的 ...
- Structs2的作用是什么??
struts2是一种重量级的框架,位于MVC架构中的controller,可以分析出来,它是用于接受页面信息然后通过内部处理,将结果返回. 同时struts2也是一个web层的MVC框架,那么什么是s ...
- struts 标签的使用<转>
Struts2常用标签总结 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的 ...
- STRUCTS 2 LABLE
{LJ?Dragon}[标题]structs2标签的作用 {LJ?Dragon}[Diary]2017年,愉快的开始:离别不一定总伤感,虽然只是安慰着自己......... 问与答 问题 在Strut ...
随机推荐
- 【转】iis解决应用程序池**提供服务的进程意外终止进程ID是**。进程退出代码是'0x80'
转自:http://blog.sina.com.cn/s/blog_56a68d5501013xdd.html 我们公司旗下的红黑互联会遇到这种问题 事件类型: 警告事件来源: W3SVC事件种类: ...
- 为 PhpStorm 配置 Xdebug 来调试代码
当项目越来越复杂,排错就越发困难. 你以为代码是这么运行的,但就是有未想到的功能导致流程变得不可捉摸. 此时我们需要调试啊调试... PhpStorm 是一款优秀的 PHP IDE,排除其 Java ...
- 用 margin 还是用 padding ?
边界(margin):元素周围生成额外的空白区."空白区"通常是指其他元素不能出现且父元素背景可见的区域. 补白(padding):补白位于元素框的边界与内容区之间.很自然,用于影 ...
- oracle SQL in plsql
刚安装好的oracle和plsql,以oracle11g为例 1.刚安装好后有两个默认的系统账号和初始密码:sys/change_on_install,system/manager 2.如果忘记了或不 ...
- Python3实现简单的钉钉机器人调用
具体可以参考开发文档:https://ding-doc.dingtalk.com/doc#/serverapi3/iydd5h from urllib import parse, request im ...
- 牛客提高D6t2 破碎的序列
分析 我们不难发现对于偶数的情况只要相邻两个数不相等即可 而对于奇数的情况只要中间恰好隔一个数的两个数不相等即可 于是我们又dp[i][0/1]表示考虑到第i位,这一位和它后面离它最近的一个确定的数是 ...
- 【CDN+】Kafka 的初步认识与入门
前言 项目中用到了Kafka 这种分布式消息队列来处理日志,本文将对Kafka的基本概念和原理做一些简要阐释 Kafka 的基本概念 官网解释: Kafka是最初由Linkedin公司开发,是一个分布 ...
- vue分页练习
<!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...
- 鸟哥私房菜学习——centos 7_安装
下面是我安装时遇到问题后搜索找到的可行办法: 准备工具: 8G左右U盘; 最新版UltraISO; CentOS7光盘镜像; CentOS7的镜像文件,可以在网易的开源镜像站或者阿里云的开源镜像站下载 ...
- Hadoop: 在Azure Cluster上使用MapReduce
Azure对于学生账户有260刀的免费试用,火急火燎地创建Hadoop Cluster!本例子是使用Hadoop MapReduce来统计一本电子书中各个单词的出现个数. Let's get hand ...