第一个 Spring MVC 注解式开发案例(初学必看)

在这里插入图片描述

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。
🍎个人主页:Java Fans的博客
🍊个人信条:不迁怒,不贰过。小知识,大智慧。
💞当前专栏:SSM 框架从入门到精通
✨特色专栏:国学周更-心性养成之路
🥭本文内容:第一个 Spring MVC 注解式开发案例(初学必看)

在这里插入图片描述

项目案例

  RequestMapping 注解式开发开发设置一个项目,实现在浏览器中输入 http://localhost:8080/springmvc02/first/show,输出网页内容 我的第一个注解式 Spring MVC 开发程序!”。

实现步骤

【1】项目创建,添加依赖。

  在 IDea 中新建一个项目 springmvc02,创建如下图所示的目录结构:

在这里插入图片描述

  项目创建好之后,打开 pom.xml 文件,添加依赖内容如下:

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>cn.kgc.springmvc02</groupId>
  <artifactId>springmvc02</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>springmvc02 Maven Webapp</name>
  <url>http://maven.apache.org</url>
<!--第1步:添加需要的 JAR 包-->
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.3.19</version>
    </dependency>
  </dependencies>
  <build>
    <finalName>springmvc02</finalName>
  </build>
</project>

【3】配置 web.xml 文件

  在 web.xml 文件里配置 DispatcherServlet 前端控制器,项目 webapp/WEB-INF 目录里的 web.xml 文件配置如下:

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <!--第2步:配置前端控制器-->
  <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:spring-config.xml</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

  客户端发出的 URL 请求都会被 DispatcherServlet(前端控制器)拦截 ,DispatcherServlet 再交给 spring-config.xml 进行处理。

【4】配置 spring-config.xml 文件

  • 配置 handlerMapping 处理器映射器

  在 src/main/resources 目录下新建一个 xml 文件,命名为 spring-config.xml,输入如下关键内容:

<?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:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
    <!--配置处理器映射器-->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean>

</beans>

  上面代码意思是创建一种类型为 RequestMappingHandlerMapping 的处理器映射器,即定义一种 “请求/响应” 映射规则,客户端的 Url 请求如果跟某一个 beanname 属性匹配,则由该 beanclass 属性指定的控制器 Controller 类进行响应处理。

  • 配置 HandlerAdapter 处理器适配器

  配置完处理器映射器后,接着在 spring-config.xml 中插入如下内容(插入位置在处理器映射器下方,节点 </beans> 的上方):

 <!--配置处理器适配器-->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean>

  该代码的意思是创建一种处理器适配器,类型为 RequestMappingHandlerAdapter,用于对上述指定的控制器 Controller 类的 handleRequest() 方法的调用与执行。

  • 配置 视图解析器

  视图解释器 用来解释控制器返回的逻辑视图的真实路径,这样更方便,易于扩展。在 spring-config.xml 中输入代码:

    <!--配置视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!--前缀配置-->
        <property name="prefix" value="/"></property>
        <!--后缀配置-->
        <property name="suffix" value=".jsp"></property>
    </bean>

  上面代码的意思是控制器 Controller 返回的逻辑视图,需要加上 前缀 “/”后缀 “.jsp”,最后拼接成完整的视图路径。比如本例中,Controller 返回的视图为 “show”,视图解释器将为它加上前缀后缀,最终构成完整路径为 “/ show.jsp”。视图解释器不是非要不可,如果没有视图解释器,则 Controller 返回的视图必须打上完整路径的视图名称。

  • 配置 组件扫描器
	<!--开启包扫描  base-package  设置需要扫描的包 -->
    <context:component-scan base-package="cn.kgc.springmvc02"></context:component-scan>

【5】编写一个 Controller 类

  在 cn.kgc.springmvc02.controller 下新建一个类 TestController,代码如下:

package cn.kgc.springmvc02.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("first")
public class TestController {
    @RequestMapping("show")
    private String show(){
        return "show";
    }
}

  第一个注解 @Controller 表示将本类定义为一个控制器类,这个类无须再实现 Controller 接口。

  第二个注解 @RequestMapping(“first”) 表示定义一种 “请求/响应” 的映射关系,即如果客户端浏览器发出 “first” 的 url 请求则由该注解下面的 show() 方法来响应,即浏览器通过 url 路径+“first/show” 就可访问到本方法,url 请求能够直接映射到控制器类的方法级别。这样一个简单的注解,就轻松的取代了之前的处理器映射器和 bean 的配置,大大减少了配置工作量。

【6】创建响应页面

  在 webapp 目录下创建文件 show.jsp 页面,内容如下:

<%--
  Created by IntelliJ IDEA.
  User: hhzb100
  Date: 2023/2/26
  Time: 11:21
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <h1>我的第一个注解式 Spring MVC 开发程序!</h1>
</body>
</html>

【7】运行并测试程序

  启动运行 Tomcat,打开浏览器后,运行 “http://localhost:8080/springmvc02/first/show”,运行效果如下:

在这里插入图片描述


  码文不易,本篇文章就介绍到这里,如果想要学习更多Java系列知识点击关注博主,博主带你零基础学习Java知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的第四栏目《国学周更—心性养成之路》,学习技术的同时,我们也注重了心性的养成。

在这里插入图片描述

  • 25
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 24
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java Fans

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值