你的第一个SpringMVC程序
1.创建Maven模块
1.1 新建一个父模块
1.2修改一下JDK版本这里选择JDK21
1.3 父模块中建立一个子模块,接下来的操作将在子模块中进行
2.添加web支持
2.1设置本地Maven仓库(非必须)
2.2 在springmvc-001的pom.xml文件中修改打包方式为war
同时添加web所需要的依赖,由于Servlet依赖Tomcat会提供所以scope为provided
<!--修改打包方式-->
<packaging>war</packaging>
<!--添加依赖-->
<dependencies>
<!-- Spring MVC依赖 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>6.1.4</version>
</dependency>
<!--日志框架Logback依赖-->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.5.3</version>
</dependency>
<!--Servlet依赖-->
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>6.0.0</version>
<scope>provided</scope>
</dependency>
<!--Spring6和Thymeleaf整合依赖-->
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring6</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
</dependencies>
2.3 在src\main 文件夹下创建一个webapp文件夹,作为Web资源目录(Web Resource Directory)。可以看到webapp文件夹,中间小点亮起,即为创建成功。
2.4 假设webapp中间小点没有亮起,那么需要在Project Structure
的Module
中设置,配置web.xml文件也在该位置。
3.配置web.xml文件
3.1 创建web.xml文件。文件位置应该是在webapp\WEB-INF
下。
3.2 配置web.xml文件。由于SpringMVC架构中是靠DispatcherServlet
对请求进行统一处理,所以需要配置DispatcherServlet
。<url-pattern>
中的 /
表示当请求不是xx.jsp的时候,DispatcherServlet来负责处理本次请求。
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
4.编写控制器
4.1 DispatcherServlet接收到请求之后,会根据请求路径分发到对应的Controller,Controller来负责处理请求的核心业务。Controller类只是一个普通的java类但是需要由IOC接管,所以需要添加注解。
5.配置springmvc-servlet.xml文件
5.1 创建SpringMVC的配置文件,SpringMVC框架有它自己的配置文件,该配置文件的名字默认为:<servlet-name>-servlet.xml
,默认存放的位置是WEB-INF 目录下
5.2在springmvc-servlet.xml文件中配置组件扫描。spring扫描这个包中的类,将这个包中的类实例化并纳入IoC容器的管理。
5.3 配置thymeleaf视图解析器
<bean id="thymeleafViewResolver" class="org.thymeleaf.spring6.view.ThymeleafViewResolver">
<!--作用于视图渲染的过程中,可以设置视图渲染后输出时采用的编码字符集-->
<property name="characterEncoding" value="UTF-8"/>
<!--如果配置多个视图解析器,它来决定优先使用哪个视图解析器,它的值越小优先级越高-->
<property name="order" value="1"/>
<!--当 ThymeleafViewResolver 渲染模板时,会使用该模板引擎来解析、编译和渲染模板-->
<property name="templateEngine">
<bean class="org.thymeleaf.spring6.SpringTemplateEngine">
<!--用于指定 Thymeleaf 模板引擎使用的模板解析器。模板解析器负责根据模板位置、模板资源名称、文件编码等信息,加载模板并对其进行解析-->
<property name="templateResolver">
<bean class="org.thymeleaf.spring6.templateresolver.SpringResourceTemplateResolver">
<!--设置模板文件的位置(前缀)-->
<property name="prefix" value="/WEB-INF/templates/"/>
<!--设置模板文件后缀(后缀),Thymeleaf文件扩展名不一定是html,也可以是其他,例如txt,大部分都是html-->
<property name="suffix" value=".html"/>
<!--设置模板类型,例如:HTML,TEXT,JAVASCRIPT,CSS等-->
<property name="templateMode" value="HTML"/>
<!--用于模板文件在读取和解析过程中采用的编码字符集-->
<property name="characterEncoding" value="UTF-8"/>
</bean>
</property>
</bean>
</property>
</bean>
6.提供视图
6.1 根据视图解析器中的前缀路径在WEB-INF
目录下创建 templates
文件夹,以后的视图都放在这个文件下。
6.2 在templates
创建index.html,用于测试
7.编写处理请求,返回逻辑名称
7.1控制器FirstController处理请求返回逻辑视图名称。实际上 前缀+逻辑名称+后缀为最终地址
8.测试
8.1配置tomcat
分类:
Java / SpringMVC
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南