HTML(Hypertext Markup Language)文本标记语言,是静态页面,和JavaScript一样解释性语言。JSP(Java Server Page)Java服务端的页面,是动态页面。需要经过JDK编译后把内容发给客户端显示。需要在服务端进行转译和编译。区别:1、HTML能直接打开,jsp只能发布到Tomact等服务器上才能打开。2、HTML页面是静态页面可以直接运行,JSP页面是动态页它运行时需要转译成servlet。3、表头不同,jsp:“ <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>”在表头中有编码格式和导入包等。4、在jsp中用<%%>就可以写Java代码了,而html没有<%%>html的优点: 1、开发过程中前端与后端脱离,交互通过JSON传输来实现 2、跨平台能力更强,依托于浏览器的支持 3、使后台数据接口能够得到复用html的缺点: 1、开发难度大,考虑浏览器的兼容性 2、页面请求过多 3、属于后加载,无法被爬虫爬到 4、接口代码需要新增很多 5、无法直接显示java实体类对象,需要转换为json格式jsp的优点:1.可被爬虫爬到2.减少请求次数jsp的缺点:1.增大了服务器的压力2.前端与后端未脱离,拖慢开发进度3.过于依赖java运行环境4.复用较低。请求方式以前老的方式是:1.客户端请求2.服务端的servlet或controller接收请求(后端控制路由与渲染页面,整个项目开发的权重大部分在后端)3.调用service,dao代码完成业务逻辑4.返回jsp5.jsp展现一些动态的代码新的方式1.浏览器发送请求2.直接到达html页面(前端控制路由与渲染页面,整个项目开发的权重前移)3.html页面负责调用服务端接口产生数据(通过ajax等等,后台返回json格式数据,json数据格式因为简洁高效而取代xml)4.填充html,展现动态效果,在页面上进行解析并操作DOM。(有兴趣的童鞋可以访问一下阿里巴巴等大型网站,然后按一下F12,监控一下你刷新一次页面,他的http是怎么玩的,大多数都是单独请求后台数据,使用json传输数据,而不是一个大而全的http请求把整个页面包括动+静全部返回过来)
参考文章:JavaWeb项目为什么我们要放弃jsp?为什么要前后端解耦?为什么要前后端分离?2.0版,为分布式架构打基础。