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

servlet和jsp的区别

1、Servlet在Java代码中可以通过HttpServletResponse对象动态输出HTML内容。

2、JSP是在静态HTML内容中嵌入Java代码,然后Java代码在被动态执行后生成HTML内容。

servlet和jsp的各自的特点

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

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

通过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中也不会充斥着大量的业务代码,这样能大提高了代码的可读性和可维护性。

相关阅读:

java servlet JSP 区别_servlet和jsp的区别相关推荐

  1. java servlet 跳转_Servlet跳转方式sendReDirect()和forward()

    在web应用服务中,经常会面对不同SERVLET之间的跳转,目前我们可以通过以下两种方式实现: 1.RequestDispatcher.forward() 2.ServletResponse.send ...

  2. java servlet html文件_Servlet生成html页面

    Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容. 该Se ...

  3. java servlet 请求_Java中前台JSP请求Servlet实例(http+Servlet)

    1.前台jsp代码 himily.jsp,定义了用户名和密码两个输入框,使用post方式提交:/order-web/HimilyServlet其中order-web为站点名称,HimilyServle ...

  4. Java Servlet 过滤器与 springmvc 拦截器的区别?

    前言:在工作中,遇到需要记录日志的情况,不知道该选择过滤器还是拦截器,故总结了一下. servlet 过滤器 定义 java过滤器能够对目标资源的请求和响应进行截取.过滤器的工作方式分为四种 应用场景 ...

  5. java servlet接口开发_servlet三种实现方式之一实现servlet接口

    servlet有三种实现方式: 1.实现servlet接口 2.继承GenericServlet 3.通过继承HttpServlet开发servlet 第一种示例代码如下(已去掉包名): import ...

  6. python和jsp交互_Servlet与JSP进阶

    ContentType的作用: 请求转发与响应重定向的使用: 多个Servlet(JSP) 之间跳转有两种方式: request.getRequestDispatcher().forward() - ...

  7. java servlet init方法_Servlet详解之两个init方法的作用

    servlet如果要求init中什么都不做,重写init时,需要调用super的init吗? 答案是不用,直接init里面什么都不写即可. 适用场景:当前servlet继承于A,A继承于httpser ...

  8. serverlet 区别_Servlet中/和/*的区别

    转自一位国外哥们儿写的分析,写的很不错: Let's consider this servlet mapping in web.xml that defines "App" as ...

  9. java与servlet JSP_java面试精品全集[jsp与servlet部分]

    一.Jsp方面 1.forward 和redirect的区别 答:forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本 ...

  10. 【Java学习路线之JavaWeb】JSP教程

    文章目录 为什么要学习JSP? 读者 阅读条件 JSP到底是什么 JSP的由来 Servlet与JSP异同点 JSP相对于Servlet的优点 1)易于维护 2)快速开发:无需重新编译和部署 3)代码 ...

最新文章

  1. Programmer of Practice Manual
  2. 【OpenCV 4开发详解】Canny算法
  3. 加强自己的电脑安全决招
  4. linux 提升cpu权限,CPUlimit有效防止Linux系统CPU过载
  5. mysql text字段导出_Mysql数据库的各种命令:
  6. 使用XmlPullParser
  7. JuiceFS 你应该知道的一些事
  8. scut协议配置工具初始化的一些问题
  9. Thymeleaf无法显示css样式
  10. java单例模式——详解JAVA单例模式及8种实现方式
  11. HTTP认证与https简介
  12. Dell服务器开启CPU虚拟化
  13. 嵌入式系统课堂小结5
  14. 长沙一佳一教育科技有限公司:短视频如何制作
  15. 自建个人用服务器要多少钱,我想建立一个人网站,像19楼那样的论坛,是自建服务器便宜还是租用服务器便宜...
  16. CenterNet算法代码剖析
  17. 我发现P200一些基础的操作像地面站校准,还有遥控器的设置,阿木的的铂贝学院的视频里面其实有了,免费可以看的!
  18. 编写现代 CSS 代码的 20 个建议
  19. typescript77-在CRA创建支持ts的项目
  20. 没有公网ip怎么外网访问nas?快解析内网端口映射到公网

热门文章

  1. Spark—local模式环境搭建
  2. Linq中 AsQueryable(), AsEnumerable()和ToList()的区别和用法
  3. OpenCV——SURF特征检测、匹配与对象查找
  4. 51nod 1285山峰和分段
  5. 一段时间即可做一些事情,如二十分钟
  6. BZOJ 2463: [中山市选2009]谁能赢呢?
  7. 解决错误---undefined reference to `pthread_create‘
  8. 昨日关注-Domain Services
  9. 漫谈 Clustering (5): Hierarchical Clustering
  10. 证明三角形内角和等于180度