JSP、JSTL、EL、Servlet之间的关联

作为初学小白,开始看到这四个东西很蒙,全是简称,感觉为了显示点动态内容怎么这么多杂七杂八的技术。后来大概理了一下四者之间的关系,记录理解以便复习和进一步学习。

总之他们四个都是为了实现动态内容的实现才相继出现的技术。

最初由Servlet来实现动态页面内容的实现,服务端通过维护成本极高的手动编写html标签返回给浏览器具体的html页面,用于根据request请求,通过Servlet处理返回html页面展示动态生成的内容UI。通过Servlet总算是实现了动态内容。但问题是编写太复杂,模板代码太多了,最直观的就是大量的PrintWriter.println("html标签")。

JSP就是为了简化动态页面生成而存在的,减少了大量的重复代码,大概逻辑就是通过JSP转换成Servlet来实现,所以最终可以理解成是对Servlet的一层封装。JSP具体是通过jsp脚本代码,将html与java代码混合在一起,实现动态页面的生成,JSP是Servlet的进化工具,对其定位落在了工具性质上。但新的问题是,JSP页面的脚本将html与Java代码混合显得很混乱,不便于纯Java研发人员理解,除非对html相当熟悉。

EL与JSTL,我认为总目标就是降低脚本代码,尽量使用标准的库和标签来代替JSP脚本,理想情况下达到无Java代码的状态,也能实现动态页面的呈现。JSTL提供了一整套标准标签类库,用标签的形式来代替java代码和JSP脚本,配合上EL表达式,可以更好的实现动态访问受限域变量及其属性,从而在UI中展示数据。

四者之间都是基于先前技术的问题和痛点,一步步发展而来的,相互配合依赖,是一个整体。

有不同观点的同学,请留言一起学习讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值