当前位置: 首页 > news >正文

什么是JSP和Servlet以及二者的关系

  • JSP(JavaServer Pages) 是“HTML 里写 Java”的模板技术,最终会被容器转换成 Servlet
  • Servlet 是“Java 里写 HTML”的 Java 类,直接继承 javax.servlet.http.HttpServlet,用来接收/响应 HTTP 请求。

  1. Servlet 是什么
  • 纯 Java 类,运行在 Servlet 容器(Tomcat、Jetty 等)中。
  • 生命周期:init → service → destroy,其中 service() 根据 HTTP 方法调用 doGet/doPost/doPut…
  • 职责:读取请求、调用业务逻辑、生成响应(通常是 HTML,但也可以是 JSON、图片等)。
  1. JSP 是什么
  • 文件扩展名 .jsp,里面可以写 HTML/CSS/JS,也可以嵌入 <% Java 代码 %>
  • 第一次访问或修改后,JSP 引擎把它“翻译”成一个 .java Servlet 源文件(如 index_jsp.java),再编译成 .class 并加载到容器。
  • 之后的行为就和普通 Servlet 完全一样——本质上 JSP 只是“带语法糖”的 Servlet。
  1. 二者关系与分工
    在这里插入图片描述

  2. 演变与现状

  • 早期:JSP 里大量脚本,业务逻辑、视图混杂(JSP Model 1)。
  • 后来:JSP 只做视图,Servlet/Filter 做控制器,JavaBean 做模型(JSP Model 2,即早期 MVC)。
  • 现代:Spring MVC、Spring Boot 等框架已把控制器进一步封装成 @Controller/@RestController,JSP 也常被 Freemarker、Thymeleaf、Vue/React 等替代,但核心思想不变——JSP 最终仍是 Servlet
http://www.dtcms.com/a/329752.html

相关文章:

  • window显示驱动开发—多平面覆盖 VidPN 呈现
  • MVCC底层实现原理
  • Flask入门:从零搭建Web服务器
  • 雅思大作文笔记
  • iOS 签名证书在版本迭代和iOS上架中的全流程应用
  • Docker 在 Linux 中的额外资源占用分析
  • 智汇河套,量子“风暴”:量子科技未来产业发展论坛深度研讨加速产业成果转化
  • 信息学奥林匹克竞赛(NOI/NOIP/CSP) 学习进度自查表
  • 使用 Python Selenium 和 Requests 实现歌曲网站批量下载实战
  • 嵌入式学习 day50 IMX6ULL裸机开发 - 时钟
  • Linux 5.15.189-rt87 实时内核安装 NVIDIA 显卡驱动
  • 手机充电线贴标机如何使用
  • 内存可见性和伪共享问题
  • php7 太空船运算符
  • 在实验室连接地下车库工控机及其数据采集设备
  • 《零基础入门AI:深度学习中的视觉处理(卷积神经网络(CNN)学习)》
  • Github desktop介绍(GitHub官方推出的一款图形化桌面工具,旨在简化Git和GitHub的使用流程)
  • SpringMVC 6+源码分析(六)参数处理
  • 18. parseInt 的参数有几个
  • C语言——深入理解指针(三)
  • 【LeetCode】6. Z 字形变换
  • 美团搜索推荐统一Agent之性能优化与系统集成
  • Linux小白加油站,第二周
  • 云手机未来的发展趋势如何?
  • docker load镜像后 名字和标签异常解决
  • Centos 用户管理
  • [Oracle数据库] Oracle的表维护
  • 使用dify搭建hr简历助手-上传简历-对接飞书ai表格
  • .NET 应用程序 Linux下守护进程脚本编写
  • 集成电路学习:什么是Image Processing图像处理