前后端分离和ajax请求
服务端的数据响应和前后端一体
1)响应字符或者字节流,response.getWrite().write;
2)响应静态数据,静态网页html/jpg等;
3)响应动态数据,使用JSP模板,响应的是动态拼接的html(JSP的本质,以JAVA代码的形式输出html,本质上仍然是servlet),这也是前后端一体的体现,整个web的数据都是后端输出的(转发技术,数据转发到JSP进行模板填充,使用域对象);
说明:Jsp,还有一些模板技术等等,是前后端不分离的体现,代码的耦合,使用request域;而且前后端代码必须一定会在同一个项目工程里,例如springboot支持thymelef模板,这些模板html放在项目src下面,Jsp本质上是一种servlet
前后端不分离,每次响应的都是整个页面,一般是表单请求,action=xxxxx.com;
可以使用ajax请求,一种异步请求,只数据交换,这是实现前后端分离的基础。
前后端分离
不使用jsp,前端单独为一个项目,不与后端耦合,使用Ajax进行请求,提交数据,而且直接拿到响应数据(不需要整个页面刷新),只拿数据,数据格式可以是KV表单形式可以是JSON形式或其他,不要完整的html页面(jsp),只要接口的返回数据,拿到数据前端自己去渲染。