JSP和Servlet之间的关系

  • 前言
  • 1. servlet和jsp的区别
  • 2. servlet和jsp的各自的特点
  • 3. 通过MVC双剑合璧

前言

jsp作为Servlet技术的扩展,经常会有人将jsp和Servlet搞混。本文,将为大家带来servlet和jsp的区别,希望对大家有所帮助。

1. servlet和jsp的区别

  1. Servlet在Java代码中可以通过HttpServletResponse对象动态输出HTML内容。
  2. JSP是在静态HTML内容中嵌入Java代码,然后Java代码在被动态执行后生成HTML内容。

2. servlet和jsp的各自的特点

  1. Servlet虽然能够很好地组织业务逻辑代码,但是在Java源文件中,因为是通过字符串拼接的方式生成动态HTML内容,这样就容易导致代码维护困难、可读性差。

  2. JSP虽然规避了Servlet在生成HTML内容方面的劣势,但是在HTML中混入大量、复杂的业务逻辑。

3. 通过MVC双剑合璧

JSP和Servlet都有自身的适用环境,那么有没有什么办法能够让它们发挥各自的优势呢?答案是肯有的,MVC模式就能够完美解决这一问题。
MVC模式,是Model-View-Controller的简称,是软件工程中的一种软件架构模式,分为三个基本部分,分别是:模型(Model)、视图(View)和控制器(Controller):
Controller——负责转发请求,对请求进行处理
View——负责界面显示
Model——业务功能编写(例如算法实现)、数据库设计以及数据存取操作实现
在JSP/Servlet开发的软件系统中,这三个部分的描述如下所示:

  1. Web浏览器发送HTTP请求到服务端,然后被Controller(Servlet)获取并进行处理(例如参数解析、请求转发)
  2. Controller(Servlet)调用核心业务逻辑——Model部分,获得结果
  3. Controller(Servlet)将逻辑处理结果交给View(JSP),动态输出HTML内容
  4. 动态生成的HTML内容返回到浏览器显示

MVC模式在Web开发中有很大的优势,它完美规避了JSP与Servlet各自的缺点,让Servlet只负责业务逻辑部分,而不会生成HTML代码;同时JSP中也不会充斥着大量的业务代码,这样能大提高了代码的可读性和可维护性。

令人震惊!JSP已经淘汰,却才搞明白JSP和Servlet之间不可告人的关系!相关推荐

  1. jsp form提交到后台中文乱码_JSP与servlet之间的数据传递

    [51] Jsp与Servlet之间的传值有两种,一种是Jsp传值给Sevlet,另一种是Servlet传值给Jsp:使用request.response对象完成传值,具体实现如下: Jsp与Serv ...

  2. 震惊:这样投简历才有效,你竟然不知道?

     简历是敲门砖,而投简历这项敲门技术好不好,直接决定了你有没有面试机会.所以今天我们来讨论一下关于如何投好简历这个问题.前程无忧在近期发布了<简历投递习惯行为调查报告>(下称<简 ...

  3. 自下而上:万物进化简史,罗辑思维强烈推荐,优生学在欧美造的孽令人震惊...

    4星|<自下而上>:万物进化简史,罗辑思维强烈推荐,优生学在欧美造的孽令人震惊 旁征博引型著作.引用多个领域的事实和专家的观点,论证作者的观点:不仅仅是有基因的生物,以下这些事务也是自下而 ...

  4. 分分钟搞定 JSP 技术

    一.JSP的语法     1.模版元素         写在JSP中的html内容         在翻译后的Servlet中, 直接被out.write原样输出 2.JSP脚本表达式        ...

  5. 震惊kafka_5个令人震惊的统计数据证明日志不足

    震惊kafka 事实证明,我们都犯有记录不良的罪名. 不相信我们吗? 这些统计数据可能会改变您的想法 当人们提出带有明显答案的问题时,这非常令人不快,因此,我不会坐在这里问您和您的团队是否使用日志文件 ...

  6. 5个令人震惊的统计数据证明日志不足

    事实证明,我们都犯有记录不当行为的罪行. 不相信我们吗? 这些统计数据可能会改变您的想法 当人们提出带有明显答案的问题时,这非常令人不快,因此,我不会坐在这里问您和您的团队是否使用日志文件来监视预生产 ...

  7. jmeter上传文件搞了一天,才搞定,没高人帮忙效率就是低,赶紧记下来,以备后用...

    jmeter上传文件搞了一天,才搞定,没高人帮忙效率就是低,赶紧记下来,以备后用 先用谷歌浏览器抓包,抓到的包类似这样: 在jmeter里添加一个http请求,配置好参数,方法,端口,路径等, 勾选 ...

  8. linux 事实日志_Linux是25。是的! 让我们用有关Linux的25个令人震惊的事实来庆祝。

    linux 事实日志 25 years ago this week, a college student in Finland shared his project on an email list: ...

  9. 个人信息买卖令人震惊:最低270元就可以手机定位

    自今年4月公安部部署打击整治网络侵犯公民个人信息犯罪专项行动以来,截至目前,全国公安机关网络安全保卫部门已查破刑事案件1200余起,抓获犯罪嫌疑人3300余人,其中银行.教育.电信.快递.证券.电商网 ...

  10. 模拟黑洞图像_nasa绘制黑洞图像(这次我终于看到了! NASA模拟的黑洞高清令人震惊的画面,令人窒息!)...

    nasa绘制黑洞图像(这次我终于看到了! NASA模拟的黑洞高清令人震惊的画面,令人窒息!),哪吒游戏网给大家带来详细的nasa绘制黑洞图像(这次我终于看到了! NASA模拟的黑洞高清令人震惊的画面, ...

最新文章

  1. 使用VMware Workstation搭建基于Linux的Oracle 10g RAC
  2. C++的this指针和引用符号的搭配使用理解
  3. ipython官网_IPython Notebook快速搭建
  4. Emotion英语学习
  5. C#学习知识库2.0版
  6. VMware中的桥接模式、NAT(网络地址转换模式)、Host-only(主机模式):转自:http://blog.chinaunix.net/uid-11798538-id-3061551.html
  7. 《大型网站技术架构》读书笔记三:大型网站核心架构要素
  8. [vue] 怎么在watch监听开始之后立即被调用?
  9. win7 mysql添加到服务_MySQL服务添加到Windows系统服务中
  10. android 用户界面教程实例汇总
  11. 测试用例(测试大纲法)
  12. python用的编程软件是什么,python编程软件用哪个好
  13. 记录一下wandb的用法
  14. 拼多多店铺什么时候推广好?
  15. 联想计算机如何会会出厂设置方法,联想笔记本开机方法 联想笔记本电脑恢复出厂设置方法...
  16. 11.4 使用Flask-PageDown支持富文本文章
  17. Linux虚拟主机与Windows虚拟主机之间有什么区别
  18. 赚翻了,快速带你学会Python爬虫接私单
  19. 无线软AP简介【转载】
  20. 在Linux下制作工资表(转)

热门文章

  1. CCS 5.5以上版本添加软件仿真(Simulation)功能,并通过两个demo(软件仿真实例)验证
  2. 搭建hadoop集群,从安装虚拟机开始直到hadoop成功搭建
  3. Jsonp调用网易云音乐API搜索播放歌曲
  4. java 定时器 的中断程序,AVR单片机教程——定时器中断
  5. android 8字体下载,安卓手机字体
  6. 刘铁猛-深入浅出WPF-系列资源汇总
  7. mysql jdbc8.0驱动包下载_JDBC驱动jar包|JDBC驱动(mysql connector java)下载v8.0.11安装包 - 欧普软件下载...
  8. 云原生时代——投资人视角下的云原生趋势思考
  9. PX4 编译报错问题解决方法、PX4切换固定版本编译
  10. 文件另存为GBK编码格式