初学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/>

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

相关推荐
步行cgn18 分钟前
FormHttpMessageConverter 详解:Spring MVC 中表单数据的读写转换器
java·spring·mvc
龙亘川24 分钟前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
金銀銅鐵27 分钟前
[Java] 用 CLI 展示 EnumMap 增删键值对时的内部变化
java·源码·ai编程
秋天的怀念_David1 小时前
第二十二夜 · 数字迷雾
java·程序人生·算法
Raas1001 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
niucloud-admin2 小时前
NIUCLOUD PHP SAAS上门家政使用文档:城市管理
java·前端·php
霸道流氓气质2 小时前
智能客服组件:分层意图识别、RAG Advisor 与人工转接状态机的 Vue3 + Spring AI 生产级实战
java·人工智能·spring
captain3763 小时前
MyBatis操作数据库(入门2)
java·数据库·spring boot·后端·spring·mybatis
心中有你02143 小时前
Java实现Dijkstra最短路径算法(邻接表 + 优先队列)
java·数据库·算法
步行cgn4 小时前
Spring MVC + Thymeleaf 模板解析失败:从 500 错误到页面正常显示
java·spring·mvc