纸上得来终觉浅,绝知此事要躬行。
1.介绍springmvc
SpringMVC是基于Java实现的MVC设计模型的
请求驱动类型的轻量级Web框架
,能让简单的Java类成为请求的控制器,并且支持RESTful风格
1.一图一demo
流程:
①导入springmvc依赖坐标
②在web.xml配置springmvc核心控制器(DispatcherServlet和核心配置文件的位置)
③创建Controller类和视图页面
④在配置文件中开启组件扫描
2.spring集成springmvc
在web.xml中配置如下
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--初始化全局参数-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!--spring前端控制器-->
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
2.详解
1.springmvc流程图一览
过程:请求想通过前端控制器
DispatcherServlet
,会调用
HandlerMapping
处理器映射器,会返回一串执行链(请求不止会访问一个Controller还会经历filter,会返回执行的流程),会调用
HandlerAdapter
处理器适配器,而具体指向的是
Controller
(具体的处理器),会返回
ModelAndView
教给
DispatherServlet
,再传给
ViewReslover
视图解析器,返回具体的View,再交由View进行渲染视图,再响应
终上所述:
springmvc的五大组件包括:
DispatcherServlet
,
Handlermapping
,
HandlerAdapter
,
Controller
,
ViewResolver
2.springmvc注解解析
@RequestMapping
属性包括:
value:用于指定请求的URL
method:用于指定请求的方式(RequestMethod枚举中定义了很多请求方式)
params:用于指定限制请求参数的条件,支持简单的表达式
//params中表示必须要有名为username参数
@RequestMapping(value = "quick1",method = RequestMethod.DELETE,params = {"username"})
public String quick1(){
return "success.jsp";
}
3.springmvc的xml配置解析(配置视图解析器)
Springmvc的默认配置都是DispatcherServlet.properties中配置的,如下
同样,我们能通过依赖注入的方式配置自己的组件,比如视图解析器,跟源码能知道视图解析器定义的类中有两个重要的属性,并且提供了set/get方法,这不正合我意吗?咱知道spring的依赖注入原理啊
spring-mvc.xml文件中配置如下
<!--增加视图解析器的前后缀-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/jsp"></property>
<property name="suffix" value=".jsp"></property>
</bean>
当现在配置这行配置,咱就不会太疑惑了吧,
prefix
表示前缀
suffix
表示后缀当需要调整/jsp/index.jsp时,咱只需要知道返回是index就行了,最后经过前后缀拼接成了/jsp/index.jsp
总结,本章节主要介绍springmvc的简单使用,以及一些简单的配置,需要掌握的是springmvc执行流程,五大组件