SpringMVC基础
一,入门案例
1,Springmvc概述
-
和用户交互的组件(获取用户传递参数,响应数据给用户)
-
三层架构
- 表现层:负责数据展示
- 业务层:负责业务处理
- 数据层:负责数据操作
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bJ5jalFW-1595503482967)(E:\每日讲课笔记\Spring\springMVCmd笔记\img\1595122243122.png)]
- MVC(Model View Controller):一种用于设计创建web应用程序表现层的模式
- Model(模型):数据模型,用于封装数据
- View(视图):页面视图,用于展示数据
- Controller(控制器):用于处理用户交互的调度器,用于根据用户需求处理程序逻辑
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Eb13tYNw-1595503482971)(E:\每日讲课笔记\Spring\springMVCmd笔记\img\1595122521782.png)]
- SpringMVC是一种基于java实现MVC模型的轻量级web框架
2,入门案例的制作
-
入门案例工作流程分析
- 服务器启动
- 服务器启动时会首先加载web.xml中的DispatcherServlet(Springmvc的核心控制器(总控,分发器))
- 读取spring-mvc.xml中的配置,加载所有Springmvc中的com.itheima包中所有标记为bean的类
- 读取bean中方法上方标注@RequestMapping的内容
- 处理请求
- 当页面发请求时会被DispatcherServlet配置拦截所有请求 /
- 使用请求路径与所有加载的@RequestMapping的内容进行比对
- 执行对应的方法
- 根据方法的返回值在Webapp目录中查找对应的页面并展示
- 服务器启动
-
代码演示(工程师webapp)
-
导入坐标
-
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <dependencies> <!-- servlet3.1规范的坐标 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <!--jsp坐标--> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1</version> <scope>provided</scope> </dependency> <!--spring的坐标--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.1.9.RELEASE</version> </dependency> <!--spring web的坐标--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>5.1.9.RELEASE</version> </dependency> <!--springmvc的坐标--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.1.9.RELEASE</version> </dependency> </dependencies> <!--构建--> <build> <!--设置插件--> <plugins> <!--具体的插件配置--> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.1</version> <configuration> <port>80</port> <path>/</path> <!--<uriEncoding>UTF-8</uriEncoding>--> </configuration> </plugin> </plugins> </build>
-
中央控制器的配置(在web.xml中),用于将请求转发到对应的具体业务处理器Controller中
-
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <!--解决中文乱码问题--> <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value>