浅谈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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • php 位运算 3<<2;

    php 位运算 3<<2;

    2021年10月15日
    40
  • Python 冒泡排序_python

    Python 冒泡排序_python要学习冒泡排序必须知道它的原理:冒泡排序算法的原理如下:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。例子:1,2,3,4,5,6就拿1到6来举例子吧!这里面有n个数字,你要对其进…

    2022年10月16日
    3
  • c语言和java哪个好学_学java前要学C语言吗?java和C语言哪个好学?

    c语言和java哪个好学_学java前要学C语言吗?java和C语言哪个好学?在编程世界,只要一提到java,总会有人联想到C语言,仿佛这两者之间有着一种密不可分的联系,那么也会有外行人在选择学习编程时,会有类似于学java前是否需要学习C语言呢?或者说java和C语言哪个会比较好学?等等之类的问题。其实大家会有这样的问题倒也不奇怪,因为学习C语言就是在学习Java,因为C语言中至少80%的语法知识都被Java继承了。Java刚开始的前半部分,如数据类型、变量、流…

    2022年7月7日
    25
  • mysql修改root用户密码语法为_设置mysql的root密码

    mysql修改root用户密码语法为_设置mysql的root密码知道密码在清楚的知道密码的情况之下可以使用以下几种方式修改MySQL的密码。方式一登录mysql

    2022年8月13日
    5
  • 互联网日报 | 4月28日 星期三 | 创维汽车品牌正式发布;Redmi正式进军游戏手机;网宿科技旗下云计算业务独立运营

    互联网日报 | 4月28日 星期三 | 创维汽车品牌正式发布;Redmi正式进军游戏手机;网宿科技旗下云计算业务独立运营今日看点✦腾讯:永久免费开放可疑黑灰产微信帐号反馈入口✦Redmi首款游戏手机RedmiK40游戏增强版发布,1999元起售✦天美汽车正式更名为创维汽车,创维汽车ET5正式发布✦…

    2022年6月7日
    41
  • JavaScript性能优化-GC算法篇[通俗易懂]

    JavaScript性能优化-GC算法篇[通俗易懂]GC算法简介1、GC是一种机制,垃圾回收器完成具体的工作2、工作的内容就是查找垃圾释放空间、回收空间3、算法就是工作时查找和回收所遵循的规则常见的GC算法1、引用计数2、标记清除3、标记整理4、分代回收GC算法之引用计数算法1、核心思想:设置引用数,判断当前引用数是否为02、引用计数器3、引用关系发生改变时改变引用数字4、引用数字为0是立即回收代码演示如下constuser1={age:10};constuser2={age:20};con.

    2022年6月21日
    34

发表回复

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

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