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

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

相关推荐
七星静香22 分钟前
laravel chunkById 分块查询 使用时的问题
java·前端·laravel
Jacob程序员23 分钟前
java导出word文件(手绘)
java·开发语言·word
ZHOUPUYU23 分钟前
IntelliJ IDEA超详细下载安装教程(附安装包)
java·ide·intellij-idea
stewie627 分钟前
在IDEA中使用Git
java·git
Elaine20239142 分钟前
06 网络编程基础
java·网络
G丶AEOM43 分钟前
分布式——BASE理论
java·分布式·八股
落落鱼201344 分钟前
tp接口 入口文件 500 错误原因
java·开发语言
想要打 Acm 的小周同学呀1 小时前
LRU缓存算法
java·算法·缓存
镰刀出海1 小时前
Recyclerview缓存原理
java·开发语言·缓存·recyclerview·android面试
阿伟*rui3 小时前
配置管理,雪崩问题分析,sentinel的使用
java·spring boot·sentinel