html与jsp的区别及优缺点
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.返回jsp
5.jsp展现一些动态的代码
新的方式
1.浏览器发送请求
2.直接到达html页面(前端控制路由与渲染页面,整个项目开发的权重前移)
3.html页面负责调用服务端接口产生数据(通过ajax等等,后台返回json格式数据,json数据格式因为简洁高效而取代xml)
4.填充html,展现动态效果,在页面上进行解析并操作DOM。
(有兴趣的童鞋可以访问一下阿里巴巴等大型网站,然后按一下F12,监控一下你刷新一次页面,他的http是怎么玩的,大多数都是单独请求后台数据,
使用json传输数据,而不是一个大而全的http请求把整个页面包括动+静全部返回过来)
参考文章:
JavaWeb项目为什么我们要放弃jsp?为什么要前后端解耦?为什么要前后端分离?2.0版,为分布式架构打基础。