开发环境
基于:IntelliJ IDEA
、Maven构建工具
、JDK1.8
、SpringBoot 2.3.4
`编写。
官人如需使用 IDEA 请阅读教程:IntelliJ IDEA
官人如需使用 Maven 请阅读教程:Maven 构建工具的下载与安装
更多干货
请阅读:《穿越 Java 之 语法基础篇》 系列文章
请阅读:《穿越 Java 之 Web基础篇 》系列文章
请阅读:《穿越 Java 之 开发必备框架篇 》 系列文章
请阅读:《穿越 Java 之 SpringBoot框架篇》系列文章
请阅读:《穿越 Java 之 SpringCloud微服务架构篇》 系列文章
理解
- Spring 的模型-视图-控制器(MVC)框架是围绕一个 DispatcherServlet 来设计的,这个 Servlet会把请求分发给各个处理器,并支持可配置的处理器映射、视图渲染、本地化、时区与主题渲染等,甚至还能支持文件上传
- 替代原来的web层的 Servlet 技术。
流程
常用注解
示例
pom.xml 文件
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.28.RELEASE</version>
</dependency>
web.xml 配置文件
-
进行配置servlet
-
关于 init-param 属性 其实,Spring也有它的默认机制:目的是为了传递spring-mvc.xml配置文件
-
若你的Spring的配置文件,位于:
/WEB-INF/
下 且名为<servlet-name>-servlet.xml
则可以不配置。 -
load- on -startup tomcat 自己的配置文件有一个 这里优先级配成2>
<!--
Spring MVC 是基于Servlet 来实现的一个框架。
通过在这里定义好它已经提供的Servlet ,就安装它框架的要求开发web程序。
背会: Servlet的类: DispatcherServlet
它这个Servlet类在创建的时候,需要创建Spring 容器。
1. 配置这个类随Tomcat的启动而创建
2. 配置我们使用的Spring配置文件
背会参数名: contextConfigLocation
-->
<servlet>
<servlet-name>mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-mvc.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc</servlet-name>
<!--一般来说,会让Spring的这个Servlet处理所有请求。但是不包括 .jsp
如果这里配置的是 /* ,表示处理所有请求,包括 .jsp
后缀型的配置,如: .do, 表示处理所有以.do结尾的请求
-->
<url-pattern>/</url-pattern>
</servlet-mapping>
spring-mvc.xml
-
Spring的配置文件
-
< mvc:annotation -driven >是spring mvc 注解版的使用。
-
annotation-driven 要导对包 使用mvc后缀的
<context:component-scan base-package="com.example"/>
<!--
最小化使用Spring MVC 框架需要开启:
-->
<mvc:annotation-driven/>
<!--
配置 逻辑视图 到 物理页面的解析过程。
组件: 视图解析器
类名背会: InternalResourceViewResolver
-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/"/>
<property name="suffix" value=".jsp"/>
</bean>
controller开发处理器
package com.example;
/*
如果想让A类可以处理 HTTP 请求(角色相当于我们以前学习的Servlet)
但是在Spring MVC 环境下:
1. A 类就是一个普通的 Java类
2. 如果想要处理请求,添加注解: @Controller
*/
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
//除了表示它是一个控制器以外,还需要注册到Spring容器中。
@Controller
public class A {
//如果要处理某个请求,可以写一个方法。
// 要让一个普通的方法处理请求,需要在方法上使用注解: @RequestMapping
@RequestMapping(path = "/demo1")
public String demo1(){
return "demo1.jsp";
}
}