一、概述
刚开始学习Javaweb开发的小伙伴都有一个疑惑:用jsp开发前端还是用HTML开发前端呢?
这个疑惑的来源主要是:刚接触完前端但又不深入学习js,接着学习jsp,发现老师们都一直用着jsp做页面进行教学,发现自己一直没有使用过HTML文本做页面。
原因:不明确区分HTML和jsp,不知道静态页面和动态页面的作用
虽然jsp里面有HTML标签,但是HTML是静态页面,而jsp是动态页面
简单的说:1. HTML不能直接访问数据库的信息(静态页面都不行),它们都需要使用js来调用后台接口(比如使用AJAX实现异步请求)来实现数据访问--纯前端
2. jsp是使用特定标签(JSTL标签)来调用Java代码来访问数据库信息(为了理解简单就这么说了)
流程: 1. 浏览器->输入网址->服务器响应->返回XX.html
2. 浏览器->输入网址->服务器响应->将.jsp解析成静态页面->返回XX.jsp或者/servlet配置文件的路径(没有后缀名)
二、对比静态页面和动态页面
1. 静态页面(使用HTML):
全异步,完全通过ajax获取数据和构建页面;
开发和调试页面方便,不依赖后端;
压力在客户端,可能没有jsp安全;
接口代码需要新增较多(控制层)
2. 动态页面(使用jsp):
通过EL语言、JSP标记库(如JSTL标签库)等等来获取数据、构建页面以及调用方法,动态数据通过ajax获取;
前端页面的实现和调试麻烦,依赖后端,不能独立开发;
压力在服务器端,因为所有逻辑都在后台,相对安全,数据存放在服务器端;
综述:都可以独立作为web开发,但不推荐;而是应该根据不同的页面功能需求使用不同技术 1. 大多数查询类页面,上动态数据比较少,使用html+AJAX,前端负责js异步调用api接口,这样页面改版时,不需要再改jsp,耦合大大降低; 2. 但对于复杂的页面,动态数据很多,比如支付下单(可能当前页面需要后台很多同步的逻辑校验)的页面还是走jsp。
另外,如果一个页面在异步加载数据之前由于数据还没出来而严重影响到了体验和流程交互,则建议还是同步走jsp,选择局部使用ajax。
以上是个人在学习的路途遇到的问题和解决问题时得出来的浅显的总结,若有不对之处,还望各路大佬指出和说明!
欢迎转载:https://www.cnblogs.com/dennyLee2025/p/10465074.html