jsp和servlet的区别和联系?
一、jsp和servlet的区别和联系
区别
1.jsp经编译后就变成了Servlet.
(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)
2.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制。
3.Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到。
Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。
而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。
联系
JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。
Servlet和JSP最主要的不同点在于:
Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。
而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。
JSP侧重于视图,Servlet主要用于控制逻辑
Servlet更多的是类似于一个Controller,用来做控制。
延伸阅读:
二、通过MVC双剑合璧jsp和servlet
既然JSP和Servlet都有自身的适用环境,那么能否扬长避短,让它们发挥各自的优势呢?答案是肯定的——MVC(Model-View-Controller)模式非常适合解决这一问题。
MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller):
Controller——负责转发请求,对请求进行处理
View——负责界面显示
Model——业务功能编写(例如算法实现)、数据库设计以及数据存取操作实现
Web浏览器发送HTTP请求到服务端,被Controller(Servlet)获取并进行处理(例如参数解析、请求转发)Controller(Servlet)调用核心业务逻辑——Model部分,获得结果Controller(Servlet)将逻辑处理结果交给View(JSP),动态输出HTML内容动态生成的HTML内容返回到浏览器显示MVC模式在Web开发中的好处是非常明显,它规避了JSP与Servlet各自的短板,Servlet只负责业务逻辑而不会通过out.append()动态生成HTML代码;JSP中也不会充斥着大量的业务代码。这大大提高了代码的可读性和可维护性。
以上就是关于jsp和servlet的区别和联系的内容希望对大家有帮助。
相关推荐HOT
更多>>公司实时看板怎么做?
一、公司实时看板制作1、一屏包含所有需要的信息只有将所需信息整合在一个屏幕上,看板使用者才能快速获取全貌业务事实、了解业务问题。一旦数...详情>>
2023-10-19 23:03:38目前Python作为主流AI编程语言有哪些不足?
一、Python的不足1、性能问题Python是一种解释型语言,其执行速度相对较慢,尤其是在处理大规模数据时。虽然有一些针对Python的性能优化技术,...详情>>
2023-10-19 21:29:47为什么箭头函数想要立即执行必需要用括号把箭头函数整体包起来?
一、箭头函数想要立即执行必需要用括号把箭头函数整体包起来的原因箭头函数想要立即执行时必须使用括号将整个函数包起来是因为箭头函数的语法规...详情>>
2023-10-19 13:39:38为什么刷新率低会出现闪屏?
一、刷新率低会出现闪屏的原因刷新率是指显示器每秒更新屏幕的次数,通常用赫兹(Hz)来表示。如果刷新率过低,例如低于人眼的视觉感知阈值(一...详情>>
2023-10-19 12:23:48