0%

springmvc01环境配置

建议先阅读《springmvc工作原理》
本文环境:
JDK 1.8
IDEA 2021.1.3
默认你已经会使用Maven和JavaWEB了。

1:新建MavenWeb项目

image.png

  1. 选择Maven工程
  2. 勾选从模板中创建
  3. 选择webapp模板
  4. 点击下一步

2:设置具体项目名称和位置

image.png
如果没有父项目,最上面的是公司名/组织名。
项目名:建议全小写,以-分割(我上面父项目写的不规范
位置:你项目在电脑上存放的地址,路径可以存在中文(项目中不要使用中文路径)
image.png
原封不动即可。
初次会下载一堆依赖,请耐心等待。

3:导入依赖

我们需要修改pom.xml文件。

导入依赖:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!--    spring-web依赖    -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- spring-webmvc依赖 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<!--添加servlet的依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>

因为我们未来可能会导入一系列spring的依赖,为了防止依赖冲突,一个解决的办法是使用统一的版本号。
上面把版本号做为了一个变量使用,我们需要提前定义${spring.version}变量。

定义变量:

1
2
<!--    变量名spring的版本号-->
<spring.version>5.3.20</spring.version>

tomcat插件依赖:

我们将tomcat做为插件来导入到项目中运行,是的程序的构建到发布更加的便捷。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<plugins>
<plugin>
<!-- tomcat插件-->
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<!--如果configuration不加,默认端口为8080
path 项目名称
port 表示端口
servlet 表示服务器名称tomcat7
-->
<configuration>
<path>/</path>
<port>8080</port>
<server>tomcat7</server>
</configuration>
</plugin>
</plugins>

4:配置文件

手动添加正确的目录结构:

image.png
我们在目录结构中src/main上面右键,新建目录。
(IDEA自动提示Maven源目录,点击即可)
image.png
IDEA中如果目录设置正确图标会不一样的,如上图。

添加配置文件springmvc.xml:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?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:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
">
<!--配置用户控制器的-->
</beans>

这个文件在resources目录下,你可以写好复制过去,而无需改动内容。
唯一后来需要修改的就是去配置用户控制器。

修改配置文件web.xml:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<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_4_0.xsd"
version="4.0">
<display-name>Archetype Created Web Application</display-name>
<!--核心控制器
1.拦截所有的用户请求,并根据请求的名称分发到用户控制
2.读取sprignmvc配置文件
-->
<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:springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!--拦截的请求-->
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>

这个文件在webapp/WEB-INF文件夹里面。
上面做了两件事:

  1. 修改xml验证语法版本为4.0
  2. 设置了核心控制器的配置,使得核心控制器过滤一切请求

5:编写用户控制器

我们还是在java目录下编写代码,按照规范包名.类名。
我们创建一个类:cn.k2502.controller.LoginController
image.png
这样的好处是我们可以同时得到包和类。
image.png
我们让他继承一个接口Controller(快捷键Alt+回车键导入)
image.png
暂时选择下面一个(上面是是注解版本)
实现他的抽象方法即可。
image.png
和Servlet一样,在这里面编写你需要处理的流程即可。
image.png
这里仅仅只是测试是否有效。
写完后需要去核心控制器的配置文件springmvc.xml里面添加配置。

1
<bean name="/login" class="cn.k2502.controller.LoginController"></bean>

6:启动服务器

这里因为配置了插件,所以启动方式在这里。
image.png

  1. 选择Maven
  2. 选择当前项目
  3. 选择插件
  4. 选择tomcat7
  5. 选择run右键运行

image.png
运行成功,我们访问一些试试看。
因为没有配置项目名,所以我们直接访问http://localhost:8080/login
image.png
因为本来就没有写页面,所以没有显示是正常的,我们去控制台看看。
image.png
访问成功。