开始一个Spring MVC项目前的准备工作
Spring MVC介绍
MVC到底是什么?
下面通过一张图来解释下。
MVC是一个著名的架构模式(注意:不是设计模式)。
View:就是我们通常说的界面的那部分,用于和用户进行交互,比如通过界面显示查询结果,提供表单接受用户的输入信息。
Model:通常是指的我们的数据,放在java代码中就是我们的业务逻辑的部分
Controller:他就好像是一个中介,用于处理请求,产生响应,他接受View中所传入的数据,然后再根据数据在调用后端的业务逻辑得到结果,然后再通过控制器将后端的结果返回到视图中。
所以试图和模型之间没有必然的连接关系,一切都是通过控制器来进行传输
Spring 5.x版本变化
1、Spring 5.x最低要求jdk8与J2EE 7(Servlet 3.1/Tomcat 8.5+)
2、Spring 5.x支持jdk8/9,可以使用新特性
3、Spring 5.x最重要的新特性支持响应式编程
IDEA环境下创建Maven WebApp
注意:我这里idea是2020及以上版本。
第一步创建web项目,则需要在项目上右键–>New–>Module,左侧点击Maven,选择Create from archetype,在选择下面的maven-archetype-webapp。然后创建就行。
第二步,接下来打开创建的web项目的src–>main,因为没有java文件夹,所以我们右键–>directory,创建一个Java文件夹。
第三步,在创建的web子moudle上右键,对它进行一个配置,将java文件夹设置成源代码文件夹,如果已经是源代码文件夹则忽略。
第四步,配置tomcat来测试这个web项目是否能用,在webapp下床架一个html页面。
第五步,配置tomcat,直接看图
再次打开add configuration。
接下来点击ok,在右下角tomcat哪儿点击tomcat,然后点击debug即可运行了。
Spring MVC环境配置
Maven依赖spring-web
在demo3_web中的pom.xml中添加
<repositories>
<repository>
<id>aliyun</id>
<name>aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
</dependencies>
web.xml配置DispatcherServlet
在demo3_web中的web.xml中添加,添加道里面
<display-name>Archetype Created Web Application</display-name>
<!-- DispatcherServlet-->
<!-- DispatcherServlet是spring MVC最核心的对象-->
<!-- DispatcherServlet适用于拦截Http请求,-->
<!-- 并根据请求的URL调用与之对应的Controller方法,来完成HTTP的请求的处理-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- applicationContext.xml-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</init-param>
<!-- 在web应用启动时自动创建spring IOC容器-->
<!-- 并初始化DispatcherServlet-->
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!-- “/”待变拦截所有请求-->
<url-pattern>/</url-pattern>
</servlet-mapping>
配置applicationContext的mvc标记
在demo3_web的main下创建resource资源文件,在创建一个application.xml,里面的代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mv="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/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<context:component-scan base-package="com.imooc.springmvc"></context:component-scan>
<!-- 启用spring MVC的注解开发模式-->
<mvc:annotation-driven/>
<!-- 将图片,js,css等静态资源排除在外,可提高执行效率-->
<mvc:default-servlet-handler/>
</beans>
开发一个Controller控制器
在java目录下,创建新的包,包名要符合application.xml中base-package里面的包名相同
<context:component-scan base-package="com.imooc.springmvc"></context:component-scan>
直接在页面地址栏输入http://localhost:8080/t,就能看到如下结果。
Spring MVC处理示意图
以上就是Spring MVC的前期处理工作。