切面未被spring管理 springmvc 切面
转载
Spring MVC:
介绍:
- Spring MVC是Spring Framework提供的Web组件,全称是Spring Web MVC,是目前主流的实现MVC设计模式的框架,提供前端路由映射、视图解析等功能。MVC是一种软件架构思想,把软件按照模型,视图,控制器来划分。
理解:
- 很多应用程序的问题在于处理业务数据的对象 和 显示业务数据的视图之间存在紧密耦合,MVC设计模式的任务是将包含业务数据的模块 与 显示模块的视图 解耦。采用 分层架构 的好处就是增强系统的可维护性和可扩展性。
- SpringMVC的工程结构一般来说分为三层,自下而上是Modle层(模型,数据访问层)、Cotroller层(控制,逻辑控制层)、View层(视图,页面显示层),其中Modle层分为两层:dao层、service层;使用spring MVC负责请求的转发和视图管理
主要组件:
- 1、前端控制器 DispatcherServlet(不需要程序员开发)
- 作用:接收请求、响应结果,相当于转发器,有了DispatcherServlet 就减少了其它组件之间的耦合度。
- 2、处理器映射器 HandlerMapping(不需要程序员开发)
- 注意:在编写Handler的时候要按照HandlerAdapter要求的规则去编写,这样适配器HandlerAdapter才可以正确的去执行Handler。
- 4、处理器 Handler(需要程序员开发)
- 5、视图解析器 ViewResolver(不需要程序员开发)
- 作用:进行视图的解析,根据视图逻辑名解析成真正的视图(view)
- View是一个接口, 它的实现类支持不同的视图类型(jsp,freemarker,pdf等等)
Spring MVC 的工作流程:
- 1、 用户发送请求至前端控制器DispatcherServlet。
- 2、 DispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取最终要执行Handler。
- 3、 处理器映射器找到具体的处理器(依据xml配置或注解查找),生成处理器对象及处理器拦截器(如果有则生成)并返回给前端控制器。
- 4、 DispatcherServlet调用HandlerAdapter处理器适配器,请求执行Handler。
- 5、 HandlerAdapter经过适配,调用具体的Handler(处理器,也叫后端控制器)。
- 6、 Handler执行完成并返回ModelAndView。
- 7、 HandlerAdapter将Handler执行结果ModelAndView返回给DispatcherServlet。
- 8、 DispatcherServlet将ModelAndView传给ViewReslover视图解析器,将逻辑视图解析成真正的视图。
- 9、 ViewReslover解析后返回具体View。
- 10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中 / 将Model数据转换为respose响应)。
- 11、 DispatcherServlet响应用户。
Spring MVC 常用注解:
- @RequestMapping:把URL请求和业务方法进行映射,在控制器的类定义处以及方法定义处都可以添加@RequestMapping,在类定义处添加相当于多了一层访问路径
- value:指定URL请求的实际地址。
- method:指定请求的method类型,包括GET、POST、PUT、DELETE等。
- params:指定request请求中必须包含的参数值,如果不包含的话,就无法调用该方法
- @ResponseBody: 用于将Controller 方法返回的对象,转换为指定格式(如json、xml等)后,写入到Response对象的body数据区。
- @RequestParam:用于获取请求参数的值。
- @PathVarlable:用于将请求url 中的模板变量映射到方法的参数上,即取出url 中的变量作为参数。
- @Controller: 用于标识一个类为控制器,处理HTTP请求。
- @RestController: Controller 和 ResponseBody 的组合。
请求流程:
- 1、浏览器从 url 中获取域名以及其他所需参数
- 2、通过 DNS 域名解析器解析地址,把域名转换成相应的 ip
- 3、通过 ip 查找对应的服务器地址
- 4、与服务器建立链接
- 5、向服务器发送所需数据请求,并等待服务器给出响应
- 6、服务器处理相应请求,并做出反应
- 7、浏览器收到服务器响应,得到 http 代码
- 8、渲染页面
三次握手:
- 1、建立连接,客户端向服务端发出请求,并等待确认
- 2、服务器收到客户端请求,向客户端发送请求数据确认码
- 3、客户端接收确认码,并给出确认请求回应,客户端和浏览器建立连接完成
四次挥手:
- 1、客户端向服务器发送结束数据传递请求
- 2、服务器收到请求返回一个确认码
- 3、服务器关闭数据传递,并向客户端发送结果
- 4、客户端收到服务器处理结束,数据传递结束
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。