目录
1 Spring集成web环境
ServletContextListener监听器
对上述代码的两处优化
Spring对ServletContextListener监听器的优化
2 SpringMVC简介
SpringMVC是一种基于Java语言实现的MVC设计模型(Model View Controller)的请求驱动型的轻量级web框架,属于是SpringFrameWork的后续产品,已经融合在Spring Web Flow中。它是一套注解,让一个简单的Java类成为处理请求的控制器,无需使用任何接口,同时支持RESTful编程风格的请求。大致而言SpringMVC的模型就是下面的这张图
参照是上面的图总结出SpringMVC模式的开发步骤,以SpringMVC的快速入门案例为例
像上述案例的SpringMVC执行过程如下
1、用户发送请求至前端控制器DispatcherServlet(前端控制器包含在spring-webmvc依赖中,导入之后才能正常使用)
2、前端控制器DispatcherServlet收到请求之后调用处理映射器HandlerMapping解析请求资源
3、处理映射器HandlerMapping找到具体的处理器(根据xml配置、注解查找)、生成处理器对象以及处理器拦截器对象(如果有的话就生成)一并返回给前端控制器DispatcherServlet
4、前端控制器DispatcherServlet调用处理器适配器HandlerAdapter
5、处理器适配器HandlerAdapter经过适配调用具体的处理器Handler(也就是自己写的controller,也叫后端控制器)
6、处理器Handler(Controller)执行返回ModelAndView
7、处理器适配器HandlerAdapter将处理器Handler(Controller)返回的ModelAndView返回给前端控制器DispatcherServlet
8、前端控制器DispatcherServlet将ModelAndView传给视图解析器ViewReslover
9、视图解析器ViewReslover解析后返回具体的View
10、前端控制器DispatcherServlet根据View渲染视图
11、前端控制器DispatcherServlet返回响应给用户
知识点查漏补缺:
**@RequestMapping:**用于建立请求URL和请求方法之间的对应关系,众所周知URL的访问是分级的,如果@RequestMapping注解加在类上的话表示的是一级访问目录,如果@RequestMapping注解加在方法上的话就表示是二级目录与方法所在类的一级目录一起形成虚拟路径。注解的属性有:
- value:用于指定请求路径的url,默认直接给一个以/开头的字符串,而不用键值对的方式给value赋值
- method:用于指定请求的方式,都是枚举类型的值RequestMethod.常量名一般是GET或者POST
- params:限定请求参数的条件,支持简单的表达式,要求参数key和value必须和配置的一模一样
**组件扫描:**组件扫描在xml文件中配置,在配置组件扫描之前先引入命名空间
然后通过context:component-scan标签进行配置组件扫描,之前一直用的都是直接指定包名扫描包下面的注解
现在直接按照注解的类型进行扫描配置视图解析器,使之拥有默认的前缀和后缀,也就是当将所有的.jsp文件都放在jap文件夹下的时候,可以指定重定向的网页路径的前缀和后缀使之可以直接跳转,不必在return的时候写过多的多级路径。
因为有上图两个set方法,所以在xml文件的配置时,很容易就联想到使用标签的形式直接注入数据,于是有了下一步
设置了前缀字符串和后缀字符串之后,就可以下面的return字符串拼接成一个url路径对jsp文件夹下的.jsp文件进行映射了
好了,其他的知识明天再学,下课!
上一篇:【SSM面向CRUD编程专栏 3】关于黑马程序员最全SSM框架教程视频,P37集老师跳过的模块创建以及tomcat下载安装配置和运行等诸多问题
下一篇:【SSM面向CRUD编程专栏 5】使用SpringMVC进行数据响应以及获取请求数据