客户通过网址路径进入前端页面
假如这是一个登录页面,里面有用<input>标签制作的用户和密码输入框
并且用v-module进行双向绑定,并且添加了@click按钮点击事件
写入的数据对应在vue对象中创建的对应value值
触发点击事件后将输入框内的数据以Json key-value字串的形式传递给script中的methods中的axios异步请求,异步请求包括get/post还有路径 参数以及response等
将前端请求通过输入框中的属性和输入的内容以对象的形式发送到你的服务器(tomcat)上,对象是以key和value的结构也就是map进行封装
由Tomcat分配线程池中的线程 处理这个对象
Tomcat通过IO的转换处理,将这个Json字串转换为request对象,里面包括了当前的Http请求
再放入过滤器拦截器进行过滤
首先采用了Spring-MVC框架 它实现了前后端分离
作用是主要解决后端服务器接收客户端提交的请求,并给与响应,
由dispatcherServlet得到request对象数据,把它发送到handlerMapping(处理器映射器)进行解析拿到存有抽象路径以及对应方法的map的信息之后将它返回给dispatcherServlet
然后到下一级HandlerAdapter,由它对数据进行解析得到对应的Controller名字
根据对应Controller的名字进入Controller层执行对应的方法
Controller层添加了@Controller(@Controller和@RestController是Spring的注解)
若最开始响应的请求为http://localhost:8080/users/login
则会找到Controller类中 被@GetMapping或@PostMapping注解的值为(“/login”)的方法所执行
Spring的好处就是创建对象,管理对象,而Spring的设计模式是以factory工厂模式
它创建了大量的对象并对其进行管理,后续之间调用就行
而它的设计核心就是AOP(面向切面编程)@Autowired的作用是自动装配,而它里面的对象都是从Spring容器里面获取的,意义的核心就是控制反转IOC ,DI依赖注入,之后通过@RestMapper(@GetMapping和@PostMapping)(get和post的区别是get信息是可以看见的,并且传输的范围有限,post的信息是被封装的,不可见的,内容大小无限,)进入方法,如果是get请求可以直接进入方法中开始执行
如果是post请求,还需要在参数上添加@RequestBody这样才能将前端的数据传入方法中使用,之后利用@Service去点出来对应的方法,进入到Service业务逻辑层(用@Service注解的类知道这是业务逻辑层(它也是应该Spring里面的注解))