原文地址:http://www.work100.net/training/monolithic-frameworks-spring-mvc-iot-admin3.html
更多教程:光束云 - 免费课程
项目重构(iot-admin3)
序号 | 文内章节 | 视频 |
---|---|---|
1 | 概述 | - |
2 | 配置和结构重构 | - |
3 | Controller控制器重构 | - |
4 | 使用拦截器 | - |
5 | 实例源码 | - |
请参照如上章节导航
进行阅读
1.概述
我们继续以上一章节 Spring Web 中的案例项目 iot-admin2
为基础,复制一份重命名为 iot-admin3
,修改 pom.xml
中 <artifactId>iot-admin3</artifactId>
。
接下来我们使用 Spring MVC
重构 iot-admin3
项目。
2.配置和结构重构
2.1.修改POM
将 spring-web
的依赖改为对 spring-webmvc
的依赖,同时删除对 spring-context
的依赖:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.3.RELEASE</version>
</dependency>
spring-webmvc
中已经依赖了spring-web
和spring-context
完整的 pom.xml
代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>net.work100.training.stage2</groupId>
<artifactId>iot-admin3</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<spring.version>5.2.3.RELEASE</spring.version>
<javax.servlet-api.version>4.0.1</javax.servlet-api.version>
<javax.jstl.version>1.2</javax.jstl.version>
<junit.version>4.12</junit.version>
<slf4j.version>1.7.25</slf4j.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${javax.servlet-api.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>${javax.jstl.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
</dependency>
</dependencies>
</project>
2.2.配置 web.xml
CharacterEncodingFilter
配置字符集过滤器,用于解决中文编码问题
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
DispatcherServlet
配置 Spring 的 Servlet
分发器处理所有 HTTP 的请求
和响应
<servlet>
<servlet-name>springServlet</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