浅析jsp和servlet的区别

      一直都明白jsp和servlet的区别,也一直都很难瞬间用语言表达出来,近来,终于决定整理一下。

     Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。

      一句话概括,Servlet和jsp的区别就是:servlet是java代码中嵌套html代码,jsp是html代码中嵌套servlet代码。但本质上却也没太大区别,jsp本质上也是一个servlet。下图说明了这个问题:

        jsp本质上是个servlet,因为在用户第一次访问jsp时,该jsp会先转成java文件,然后再编译成class文件,如果该jsp没有改变的话,在服务器的周期中该jsp只在第一次编译,后面的用户即使再访问,也不会再编译。所以本质上jsp还是个servlet。

         虽然上文说到jsp和servlet的明显区别在代码嵌套方面。但我们总是在追求高内聚,低耦合的系统,追求能多次复用并且易于维护的系统,很明显,不论java代码中嵌套大量html或者html中嵌套大量java代码,都给维护造成很大困难,当然也会给开发加大了很大的工作量。所以现在基本不在servlet中写html代码,也尽量少在jsp中写java代码。只让servlet完成控制器(C)的功能,只让jsp完成视图(V)的功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值