SpringMvc是由Spring官方提供的基于mvc设计理念的web框架(其功能相当于Servlet)SpringMvc是基于Servlet封装的用于实现mvc控制的框架,实现mvc控制的框架,实现了前端和服务器的交互
目录
一、前后端交互大致流程:
二、SpringMvc相较于Servlet的优势:
SpringMvc相较于Servlet的优势大致可以分为以下五点:
- 严格遵守mvc分层的思想
- 采用了松耦合、插件式结构,想爱你个比较有我们封装的BaseServlet以及其他的一些mvc框架更加灵活,更具拓展性
- SpringMvc是基于spring的拓展,提供了一套完整的mvc注解
- SpringMvc在数据的绑定,视图的解都提供了多种处理的方式,可以灵活配置
- SpringMvc对RESTFUL URL设计方法提供了良好的支持
三、SpringMvc的本质工作是什么?
1、接收并解析请求 |
2、处理请求 |
3、数据渲染、响应请求 |
四、SpringMvc框架的部署:
4.1 创建基于maven的web工程
方法一:创建Maven的web工程可以使用模板进行创建即可,在选择时候不要选择错了模板即可,添加项目名后等待项目创建完成即可进行下一步操作
方式二:创建一个普通的java项目,在main目录下创建“WebApp”文件夹,文件夹下面创建一个“WEB-INF”文件夹,“WEB-INF”文件夹下面有一个web.xml文件
注:使用此种方式创建web工程,需要在pom.xml文件中,部署war,声明这是一个web工程项目,此时刷新项目目录,可以看到“WebApp”文件夹上有一个“小圆球”
4.2 添加SpringMvc的项目依赖
首先需要添加的是web项目依赖,“JSP”、“Servlet”这两个依赖,可以通过导入本地Tomcat进行添加部署(File---Project Structure---Modules---"+"---“tomcat”)
其次要添加SpringMvc依赖,分别有Spring Context、Spring Aspect、Spring jdbc 、Spring-mvc
依赖的版本号可以通过在 <spring.version>标签上、定义,在版本号中引入即可,这样在修改版本号的时候,只需要修改<properties>中的版本号即可,而不再需要一一进行修改,方便了很多
<spring.version>5.2.13.RELEASE</spring.version>
4.3 配置SpringMvc的核心配置文件
- 在Resources的目录下创建名为“Spring-Servlet.xml”的文件
- 添加mvc的命名空间
- 声明SpingMvc使用注解qudong
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:Context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!--声明mvc使用注解驱动-->
<mvc:annotation-driven/>
</beans>
4.4 配置SpringMvc的前端控制器
在web.xml配置SpringMvc的前端控制器,SpringMvc提供了名为DisPatchCherServie的类(SpringMvc的中央处理器),拦截用户请求交由SpringMvc前端控制器,在前端控制器中可以设置拦截器从而使释放前端的静态资源
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<!--服务器启动就会实例化前端控制器,同时加载Spring配置文件-->
<servlet>
<servlet-name>SpringMvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:Spring-Servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SpringMvc</servlet-name>
<!--/* :表示拦截所有的http请求,包括jsp请求、都作为控制类的路径处理
/ :表示拦截所有http请求,但不包括jsp请求,但不放行静态资源-->
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
/* :表示拦截所有的http请求,包括jsp请求、都作为控制类的路径处理
/ :表示拦截所有http请求,但不包括jsp请求,但不放行静态资源
到这里就是SpringMvc的基本配置了,后续会有其他博文都将陆续更新,将给大家继续梳理、了解SpeingMvc以及ssm框架整合的相关知识~~~
END~~~