MVC是什么?
MVC是一种软件架构思想,其核心思想就是将数据处理和数据展示分开,更具这种思想,可以将软件分为不同类型的模块Model,View ,controller,
如何使用MVC?
MVC是以请求为驱动,围绕Servlet设计,将请求发给控制器,然后通过模型对象,分派器来展示结果视图,期中核心类是Servlet充当控制器,使用JSP充当视图,使用JAVA类充当模型
全局初始化
Spring提供获取引用上下文的工具:ContextLoaderListenter:加载spring 创建上下文,并储存到ServletCountext域 提供WebApplicationContext使得使用者获取应用上下文对象
2件事:
在WEB.XML中配置ContextLoaderListener听器(导入spring-web坐标)使用WebApplicationUtils获取上下文对象ApplicationContext
开发步骤:
导入SpringMVC相关坐标
配置SpringMVC核心控制器DispatherServlet创建Controller类和视图页面
使用注解Controller类中业务方法的映射地址
配置SpringMVC核心文件spring-mvc.xml
SpringMVC执行流程:
用户发送请求到前端控制器DispatherServlet
DispatherServlet发送请求HandlerMapping处理器映射器
处理器映射器找到具体的处理器,生成处理器对象和处理器拦截器
返回DispatherServlet.
DispatherServlet调用HanderAdapter处理器适配器
HanderAdapter经过适配调用具体的处理器(Controller)
Controller执行完成返回ModelAndView
HanderlerAdapter将执行controller执行结果ModelAndView返回DispatchServlet
DispatcherSerlvet将ModelAndView传入ViewReslover视图解析器
组件解析:
、注解:@RequestMapping:用于建立请求URL和请求方法之间的对应关系
使用在类上用于区分控制器,指定第一级的访问目录
Value:用于指定URL,它和path属性的作用是一样
Method:用于指定请求的方式
Params:用于指定限制请求参数的条件。它支持简单的表达式。
组件扫描:include-filter
serverlet组件发布:redirct,(重定向),setSuffix
手动配置内部资源视图解析器;prefix(前置),suffix(后置)
SpringMVC的数据响应方式
- 页面跳转,直接返回字符串,与视图解析器结合涉及函数(转发:forward,重定向:redirect),通过MOdelAndView对象返回
Model 只是封装了HttpSerletresver方法的工具
- 回写数据,直接返回字符串,返回对象或集合
回写客户端访问,web阶段,客户端访问服务端,如果直接回写字符串为响应体返回的话,只需要使用response.getWriter.print(“hello world”),注入repons方式
返回json数据,只需引入json解析工具
返回对象和数组:在方法上添加@ResponseBody就可以返回json格式字符串,但是配置比较麻烦,配置代码较多,因此可以使用mvc注解驱动代替
三步入门:
创建拦截器类实现HandlerInterceptor接口
配置拦截器
测试拦截器的拦截效果