Servlet和Struts2有什么区别,为什么要用他们,什么时候用?
答案:7 悬赏:20 手机版
解决时间 2021-03-17 07:04
- 提问者网友:送舟行
- 2021-03-16 09:11
Servlet和Struts2有什么区别,为什么要用他们,什么时候用?
最佳答案
- 五星知识达人网友:duile
- 2021-03-16 10:22
Servlet是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
Struts2是控制层框架,Struts2这个东西很多人认为是struts的升级版,但其实他合Struts没多大关系,仅仅只是使用方法类似,内部架构原理完全不同。但两者都是基于Serlvet的,但struts对Servlet API(注意是API)依赖程度很高不利于调试,struts2并不依赖Servlet API,更多的是其本身的API,有利于调试。
为什么用这些,很大一部分情况是不会写这类的抽象型面向协议的应用框架,另一些能写的大牛是因为这项技术在这些框架里已经体现的很成熟,并且通过一代一代版本的积累对已知漏洞的修补,已知攻击方式的防御都已经达到一定高度,并不是随手写一个能够代替的。最后万事没有绝对,struts2在爆出严重的提权漏洞后就慢慢的被spring mvc占领了市场。
至于什么时候用,这个不好说,合适的需求,合适的环境用合适的框架。
Struts2是控制层框架,Struts2这个东西很多人认为是struts的升级版,但其实他合Struts没多大关系,仅仅只是使用方法类似,内部架构原理完全不同。但两者都是基于Serlvet的,但struts对Servlet API(注意是API)依赖程度很高不利于调试,struts2并不依赖Servlet API,更多的是其本身的API,有利于调试。
为什么用这些,很大一部分情况是不会写这类的抽象型面向协议的应用框架,另一些能写的大牛是因为这项技术在这些框架里已经体现的很成熟,并且通过一代一代版本的积累对已知漏洞的修补,已知攻击方式的防御都已经达到一定高度,并不是随手写一个能够代替的。最后万事没有绝对,struts2在爆出严重的提权漏洞后就慢慢的被spring mvc占领了市场。
至于什么时候用,这个不好说,合适的需求,合适的环境用合适的框架。
全部回答
- 1楼网友:神鬼未生
- 2021-03-16 16:57
在你开发项目的时候,这两个你都可以选择,不过现在一般都用struts2框架实现业务逻辑的,
- 2楼网友:渊鱼
- 2021-03-16 15:28
servlet是学习struts2的基础,使用struts框架大大的简化了开发的流程,至于什么时候用还是看需求,用servlet开发较麻烦,用struts框架很方便。
- 3楼网友:一袍清酒付
- 2021-03-16 14:56
Servlet也是在Web容器中运行的,Servlet的生命周期容器启动的时候,会加载servlet的class,并new出这个对象,然后,当用户请求这个servlet的时候,容器会调用init方法初始化这个 servlet,这也是整个生命周期中只会调用一次的方法,然后,会调用service方法,由这个方法调用doGet或
doPost方法来响应用户,然后,容器在可用资源紧张或是长期没有对Servlet发出
请求的情况下,会销毁这个servlet。
struts是一个基于MVC模式的一个框架,分别是表示层(view)、控制层(controller)、和模型层(Model)。其表示层使用Struts标签库构建。来自客户的所有需要通过框架的请求统一由叫ActionServlet的servlet接收(ActionServlet Struts已经为我们写好了,只要您应用没有什么特别的要求,它基本上都能满足您的要求),根据接收的请求参数和Struts配置(struts-config.xml)中ActionMapping,将请求送给合适的Action去处理,解决由谁做的问题,它们共同构成Struts的控制器。Action则是Struts应用中真正干活的组件,开发人员一般都要在这里耗费大量的时间,它解决的是做什么的问题,它通过调用需要的业务组件(模型)来完成应用的业务,业务组件解决的是如何做的问题,并将执行的结果返回一个代表所需的描绘响应的JSP(或Action)的ActionForward对象给ActionServlet以将响应呈现给客户。
doPost方法来响应用户,然后,容器在可用资源紧张或是长期没有对Servlet发出
请求的情况下,会销毁这个servlet。
struts是一个基于MVC模式的一个框架,分别是表示层(view)、控制层(controller)、和模型层(Model)。其表示层使用Struts标签库构建。来自客户的所有需要通过框架的请求统一由叫ActionServlet的servlet接收(ActionServlet Struts已经为我们写好了,只要您应用没有什么特别的要求,它基本上都能满足您的要求),根据接收的请求参数和Struts配置(struts-config.xml)中ActionMapping,将请求送给合适的Action去处理,解决由谁做的问题,它们共同构成Struts的控制器。Action则是Struts应用中真正干活的组件,开发人员一般都要在这里耗费大量的时间,它解决的是做什么的问题,它通过调用需要的业务组件(模型)来完成应用的业务,业务组件解决的是如何做的问题,并将执行的结果返回一个代表所需的描绘响应的JSP(或Action)的ActionForward对象给ActionServlet以将响应呈现给客户。
- 4楼网友:春色三分
- 2021-03-16 13:42
Servlet也是在Web容器中运行的,Servlet的生命周期容器启动的时候,会加载servlet的class,并new出这个对象,然后,当用户请求这个servlet的时候,容器会调用init方法初始化这个 servlet,这也是整个生命周期中只会调用一次的方法,然后,会调用service方法,由这个方法调用doGet或
doPost方法来响应用户,然后,容器在可用资源紧张或是长期没有对Servlet发出
请求的情况下,会销毁这个servlet。
struts2是一个基于MVC模式的一个框架,分别是表示层(view)、控制层(controller)、和模型层(Model)。其表示层使用Struts标签库构建。来自客户的所有需要通过框架的请求统一由叫ActionServlet的servlet接收(ActionServlet Struts已经为我们写好了,只要您应用没有什么特别的要求,它基本上都能满足您的要求),根据接收的请求参数和Struts配置(struts-config.xml)中ActionMapping,将请求送给合适的Action去处理,解决由谁做的问题,它们共同构成Struts的控制器。Action则是Struts应用中真正干活的组件,开发人员一般都要在这里耗费大量的时间,它解决的是做什么的问题,它通过调用需要的业务组件(模型)来完成应用的业务,业务组件解决的是如何做的问题,并将执行的结果返回一个代表所需的描绘响应的JSP(或Action)的ActionForward对象给ActionServlet以将响应呈现给客户。
servlet是j2ee的基础,struts2是基于它的框架,什么是框架:就是为了方便开发,提供了一些高层的功能,比如说输入验证啥的,隐藏了底层很复杂的实现
以前没有框架的时候用的是servlet,然后开发比较复杂的系统,并且有可重用的功能时,就有了框架,现在开发一般都用框架,但学习servlet会更好理解框架的
j2ee的框架有很多的,不止struts2
doPost方法来响应用户,然后,容器在可用资源紧张或是长期没有对Servlet发出
请求的情况下,会销毁这个servlet。
struts2是一个基于MVC模式的一个框架,分别是表示层(view)、控制层(controller)、和模型层(Model)。其表示层使用Struts标签库构建。来自客户的所有需要通过框架的请求统一由叫ActionServlet的servlet接收(ActionServlet Struts已经为我们写好了,只要您应用没有什么特别的要求,它基本上都能满足您的要求),根据接收的请求参数和Struts配置(struts-config.xml)中ActionMapping,将请求送给合适的Action去处理,解决由谁做的问题,它们共同构成Struts的控制器。Action则是Struts应用中真正干活的组件,开发人员一般都要在这里耗费大量的时间,它解决的是做什么的问题,它通过调用需要的业务组件(模型)来完成应用的业务,业务组件解决的是如何做的问题,并将执行的结果返回一个代表所需的描绘响应的JSP(或Action)的ActionForward对象给ActionServlet以将响应呈现给客户。
servlet是j2ee的基础,struts2是基于它的框架,什么是框架:就是为了方便开发,提供了一些高层的功能,比如说输入验证啥的,隐藏了底层很复杂的实现
以前没有框架的时候用的是servlet,然后开发比较复杂的系统,并且有可重用的功能时,就有了框架,现在开发一般都用框架,但学习servlet会更好理解框架的
j2ee的框架有很多的,不止struts2
- 5楼网友:轻熟杀无赦
- 2021-03-16 12:43
Servlet是Jsp技术的核心
Struts2是对Servlet等JSP核心的一些封装。比直接使用Servlet好些。
Struts2是对Servlet等JSP核心的一些封装。比直接使用Servlet好些。
- 6楼网友:怙棘
- 2021-03-16 11:34
servlet是j2ee的基础,struts2是基于它的框架,什么是框架:就是为了方便开发,提供了一些高层的功能,比如说输入验证啥的,隐藏了底层很复杂的实现
以前没有框架的时候用的是servlet,然后开发比较复杂的系统,并且有可重用的功能时,就有了框架,现在开发一般都用框架,但学习servlet会更好理解框架的
j2ee的框架有很多的,不止struts2
以前没有框架的时候用的是servlet,然后开发比较复杂的系统,并且有可重用的功能时,就有了框架,现在开发一般都用框架,但学习servlet会更好理解框架的
j2ee的框架有很多的,不止struts2
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯