浅谈Servlet与JSP

浅谈Servlet与JSP前言    提高JavaWeb开发,不得不说http协议,接下来就说Servlet和Jsp这两个java类。正文1、什么是JSP?    JSP(JavaServerPages)是Sun公司指定的一种服务器端动态页面技术的组件规范,Jsp是以“.jsp”为后缀的文件,在该文件中主…

大家好,又见面了,我是你们的朋友全栈君。

前言

    提高Java Web 开发,不得不说http协议,接下来就说Servlet 和 Jsp 这两个java类。

正文

1、什么是JSP?

    JSP(Java Server Pages)是Sun 公司指定的一种服务器端动态页面技术的组件规范,Jsp是以“.jsp”为后缀的文件,在该文件中主要是html 和少量的java 代码。jsp 文件在容器中会转换成Servlet中执行。

2、什么是Servlet?

    Servlet (Server Applet)是Sun公司指定的一种用来扩展Web服务器功能的组件规范,属于服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。
    借用知乎上java老师的一句话:jsp就是在html里面写java代码,servlet就是在java里面写html代码

3、JSP与Servlet的区别和联系

  • 运行过程

    客户在第一次请求JSP时,请求较慢,因为JSP Engine先把JSP程序转换成servlet代码,接着将它编译成类文件,以后贮存在内存中再次调用速度就快了;
    访问servlet时,可以直接对其编译好的类文件执行。

  • 使用方式

    要想使用servlet必须把它放在特定位置而且必须对其映射配置;
    jsp可以放在和html同样位置(webapps根目录下或者webapps根目录下的子目录下)而且不需要配置,可以直接使用。

  • 程序组成

    Servlet在Java代码中通过HttpServletResponse对象动态输出HTML内容;
    JSP在静态HTML内容中嵌入Java代码,Java代码被动态执行后生成HTML内容

  • 职能分工

    jsp更侧重于前端页面显示,servlet更侧重于业务逻辑。

  • 本是一家人
        Jsp 本质上是servlet,用jsp实现的页面用servlet也能实现。

4、扬长弊端提出MVC

    JSP 在Html 中加入了大量的、复杂的业务逻辑,如果后期业务逻辑发生改变,修改jsp 就会捉襟见肘;
    Servlet 虽然解决了业务逻辑的问题,但是通过字符串拼接的方式生成动态的Html 页面,也会导致代码臃肿,难以维护;
    MVC(Model-View-Controller)模式就扬长避短,将两者完美结合在一起,它把把软件系统分为三个层次:模型(Model)、视图(View)和控制器(Controller);

这里写图片描述

    时序图说明:
这里写图片描述
    1、Web浏览器发送HTTP请求到服务端,被Controller(Servlet)获取并进行处理(例如参数解析、请求转发)
    2、Controller(Servlet)调用核心业务逻辑——Model部分,获得结果
    3、Controller(Servlet)将逻辑处理结果交给View(JSP),动态生成的HTML内容并返回到浏览器显示

总结

    感谢您的阅读,希望对您有所帮助!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148813.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月26日 下午8:46
下一篇 2022年6月26日 下午8:46


相关推荐

  • js正则表达式语法大全_vb 正则表达式

    js正则表达式语法大全_vb 正则表达式 JavaScript正则表达式的用法正则表达式是一种可以用于模式匹配和替换的强大工具,在很多语言中都可以应用。JavaScript对正则表达式提供了很好的支持,Javascript中有一个正则表达式对象RegExp。该对象提供了大量的属性和方法来处理正则表达式,同时,String对象也提供了相关的方法来处理正则表达式,在Web应用中,经常使用正则表达式来验证用户输入的信息,例如在用

    2026年1月30日
    4
  • pycharm安装tensorflow版本无法找到_pycharm安装后无解释器

    pycharm安装tensorflow版本无法找到_pycharm安装后无解释器1、TensorFlow安装keras需要在TensorFlow之上才能运行。所以这里安装TensorFlow。TensorFlow需要vs环境,需要wein64位环境,所以32位的小伙伴需要升级为64位系统以后才行。(1)第一种方式使用pip安装如果只想专用cpu加速,安装pipinstall–upgradetensorflow如果想使用gpu加速,还需要安装pipinstall–upgradetensorflow-gpu安装以后还需要cuda显卡驱动,可参考https://

    2022年8月25日
    8
  • android删除自带应用程序,安卓手机自带软件怎么卸载?无需root卸载安卓手机自带软件方法…

    android删除自带应用程序,安卓手机自带软件怎么卸载?无需root卸载安卓手机自带软件方法…当我们入手一台新安卓手机的时候 会发现里面有很多预装应用 而且我们并不常用 那么安卓手机自带软件怎么卸载呢 今天绿茶小编就为大家介绍无需 root 卸载安卓手机自带软件的方法 25 55MB 手机工具刷机精灵提供的卸载预装应用功能 通过简单的操作 让用户轻松卸载手机自带应用 释放内存空间 加速手机系统 延长手机待机时间 避免恶意软件产生的恶意扣费 恶意扣流量 甚至窃取用户个人隐私等危害 使用步骤如

    2025年7月16日
    6
  • 智能体实时更新:AI Agents for Beginners热部署技术

    智能体实时更新:AI Agents for Beginners热部署技术

    2026年3月15日
    2
  • Oracle 11g AMM与ASMM切换

    Oracle 11g AMM与ASMM切换现在的Oracle正在往智能化方向发展。如果我们现在找一些8i/9i时代的Oracle书籍,怎么样配置合适的数据库各内存池大小是非常重要的话题。但是进入10g之后,自动内存池调节成为一个重要Oracle特性。在10g时,Oracle推出了ASMM(AutomaticSharedMemoryManagement),实现了OracleSGA和PGA内部结构的自调节。进入11g之后,AMM(A…

    2022年5月3日
    47
  • 100M 免费 ASP + Access 空间 100M 免费 php+mysql 空间

    100M 免费 ASP + Access 空间 100M 免费 php+mysql 空间nbsp 100M 永久免费 asp access mysql 空间 100M 永久免费 php access mysql 空间 支持顶级域名绑定 支持 WEB FTP 管理 支持在线整站打包上传 支持 FSO 邮件发送组件 支持 asp php access mysql 建站注意事项 1 请珍惜空间资源 不要重复申请免费空间帐号 或把空间 nbsp nbsp 当作文件下载站点 如果发现 视为自动放弃免费空间

    2026年3月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号