初学SpringMVC之使用注解开发

先配置 web.xml 文件

1.注册 DispatcherServlet

  1. <init-param> 下 <param-value> 放自己创建的 xml(标准写法是 xx-servlet.xml)

3.映射路径写 / 即可,匹配所有请求

XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<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"
         metadata-complete="true">

  <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-servlet.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>

resources 目录下创建 springmvc-servlet.xml

1.自动扫描包 <context:component-scan base-package="xx"/> 放自己的包名

2.支持 MVC 注解驱动 <mvc:annotation-driven/>

3.添加视图解析器 InternalResourceViewResolver

prefix:前缀、suffix:后缀

XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.2.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">
    
    <!-- 自动扫描包,让指定包下的注解生效,由IOC容器统一管理 -->
    <context:component-scan base-package="com.demo.controller"/>
    
    <!-- 让SpringMVC不处理静态资源 -->
    <mvc:default-servlet-handler/>
    
    <!-- 支持MVC注解驱动 -->
    <mvc:annotation-driven/>
    
    <!-- 视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" 
          id="InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>

在包下创建一个类

  1. @Controller 注解,是为了让 Spring IOC 容器初始化时自动扫描到

2.写个方法,return 返回字符串,放的是自己创建的 jsp 名字

3.在方法上添加 Model

4.用 Model 来调用 addAttribute 方法,向模型中添加属性与值

  1. @RequestMapping("/xx") 映射请求注解,是地址栏添加的后缀名
java 复制代码
package com.demo.controller;

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

@Controller
public class HelloController {
    @RequestMapping("/hello") //映射请求,是添加后缀的路径
    public String test(Model model){
        //封装数据,向模型中添加属性msg与值,可以在jsp页面中取出并渲染
        model.addAttribute("msg","Hello,SpringMVC!");
        return "hello"; //会被视图解析器处理,放的是hello.jsp
    }
}

如果 @RequestMapping("/xx") 写在了类的上方,表示先走这个路径,再走方法的路径

在 WEB-INF 目录下创建 jsp 目录,再创建 hello.jsp 页面,添加一行 ${msg},确保输出

html 复制代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<body>
    ${msg}
</body>
</html>

配置 Smart Tomcat 运行即可

输出成功!

使用 Spring MVC 时,必须配置三个:

处理器映射器、处理器适配器、视图解析器

前两个开启注解驱动即可 <mvc:annotation-driven/>

我们只需要手动配置视图解析器

相关推荐
奋进的芋圆17 分钟前
Java 延时任务实现方案详解(适用于 Spring Boot 3)
java·spring boot·redis·rabbitmq
sxlishaobin34 分钟前
设计模式之桥接模式
java·设计模式·桥接模式
model200535 分钟前
alibaba linux3 系统盘网站迁移数据盘
java·服务器·前端
荒诞硬汉1 小时前
JavaBean相关补充
java·开发语言
提笔忘字的帝国1 小时前
【教程】macOS 如何完全卸载 Java 开发环境
java·开发语言·macos
2501_941882481 小时前
从灰度发布到流量切分的互联网工程语法控制与多语言实现实践思路随笔分享
java·开发语言
華勳全栈2 小时前
两天开发完成智能体平台
java·spring·go
alonewolf_992 小时前
Spring MVC重点功能底层源码深度解析
java·spring·mvc
沛沛老爹2 小时前
Java泛型擦除:原理、实践与应对策略
java·开发语言·人工智能·企业开发·发展趋势·技术原理
专注_每天进步一点点2 小时前
【java开发】写接口文档的札记
java·开发语言