例如一个端口号访问另一个端口号
struts就是一个个放的
早期火的框架是 ssh spring struts hibernate
@RequestMapping(value="/list")
找的是有注解的方法,value是客户端要请求的地址
如果用了@RequestMapping(value="/list",method=Request.POST);如果不写的话表示GET请求和POST请求
都会到这;
一开始用@RequestMapping(value="");
后来有了@GetMapping("/list"),底层是@RequestMapping
(""),从spring4.3开始的
对于前后端分类来说有影响的是第5步骤
js—>web服务器
js<—web服务器
请求地址 响应数据
如果前后分离,输出应该放在作用域中的数据;(就是传输数据),能传输的只有两种东西,一个是字节流,一个是字符流
字节流:byte,按照字节传输
字符流:按照两字节为1单位,Unicode,
IO流:用于通讯(作用),也就是传递数据,计算机存储的最小单位是字节,文件的最小单位是字节,数据的最小单位是字节
传文件,图片,视频,音频是字节流, 传文本(例如1340)适合字符流
我们要传输的是java对象(list),但是我们能传递的是字节流和字符流,将一个对象转换成字节流和字符流的过程是序列化
将字节流和字符流转换成一个对象是 反序列化
一个java项目 --》 另一个java项目请求数据 用的 是 字节流,例如阿里的dubbo,字节流合适,性能好
js --> web服务器 : 用的是字符流
跨语言的情况下用字节流是行不通的
字符流说白了就是字符串
一种是xml文件节点是方式, xml格式国家电网,一行
1
张三
13
另一种是json,{
{
id:1,
name: ‘张三’,
password:‘1343’
}
}
对象转json,有工具,一种是jackson;(国外)
另一种是fastjson(阿里的东西)
fastjson: alibaba,这个
String str = JSONObject.toJSONString(list)
第一个办法是植入HttpServletResponse response
response.getWriter().write(str);
第二种方法:不用response,加注解@ResponseBody,在方法上
还return str;所有方法都加上注解,太累
第三种方法:最常用:把@ResponseBody加类上
类下所有方法都是这样,不会找视图解析器,直接输出
有个注解是@RestController 相当于@Controller和@ResponseBody,一个注解实现两个功能;*****
上面还不是最终方案:
IOC:spring两大核心之一
思维:控制反转(类似接口): 手段(实习类):依赖注入
1、反转定义:电脑的核心是主板;为什么?CPU和内存都接在主板上,外界人就知道电脑在干,具体的电脑那块在干也不需要知道
问题:1、耦合问题:开发的过程中是高内聚,低耦合(高内聚说白了就是一个方法干一件事,方便复用,低耦合: (强耦合,一个类的属性是另一个类的对象,开发当中绝对禁止),强耦合带来的问题:主板只支持I3,不支持I5,牵一发而动全身,仅仅想换cpu,结果必须换主板;
降低耦合度方法用接口
工厂模式:利用工厂生产主板;
IOC:本身就是一个工厂模式;
本文地址:https://blog.csdn.net/weixin_42333573/article/details/107696050
如对本文有疑问, 点击进行留言回复!!
Flink程序JDK8 运行一段时间后NullException解决
解决: java.lang.NoClassDefFoundError: org/apache/http/client/HttpClient
SpringBoot中定制异常页面(404页面配置提高用户体验)
DataGrip和IDEA无法连接上Mysql问题解决方法详解
Java基础语法(多态、类、接口、Date类、基本类型、系统类)
网友评论