SpringMVC

104 阅读1分钟

创建springMVC项目

  1. 创建maven-web项目
  2. 导入springMVC依赖
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-webmvc</artifactId>
  <version>5.3.16</version>
</dependency>
  1. 配置tomcat(插件/依赖)
  2. 创建控制器类,跳转到index.jsp页面

uTools_1691763442926.png

package com.msb.controller;

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

@Controller
public class TestController { //控制器类
    @RequestMapping("/test1")
    public String test1(){
        // 响应给浏览器index.jsp页面
        return "index.jsp";
    }
}
  1. 新建springmvc配置文件springmvc.xml

uTools_1691764658549.png

<?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"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        https://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/mvc
        https://www.springframework.org/schema/mvc/spring-mvc.xsd"
>

    <!-- 扫描控制类,不要把service等扫进来,也不要在spring配置文件扫描控制器类所在包-->
    <context:component-scan base-package="com.msb.controller"></context:component-scan>
    <!-- 让springMVC注解生效:@RequestMapping-->
    <mvc:annotation-driven></mvc:annotation-driven>
</beans>
  1. 编写web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://xmlns.jcp.org/xml/ns/javaee"
        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
        version="4.0">


    <!-- springMVC入口 -->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <!-- url分发器 -->
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

        <!-- 找springMVC主配置文件 -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <!-- 控制器类,名称自定义,但要与配置文件相同 -->
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>

        <!-- 启动TOMCAT容器时就加载DispatcherServlet -->
        <load-on-startup>1</load-on-startup>
    </servlet>

    <!-- 所有的请求都走SpringMVC -->
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <!-- /表示除了.jsp结尾的url,其他的url都会触发DispatcherServlet。此处不要写成/* -->
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

参数接收

  • 获取普通参数

在控制单元提供与请求参数同名的方法参数即可,SpringMVC会自动进行类型转换

@RequestMapping("/testParam")
public String testParam(String name, int age){
    System.out.println(name + "-----" + age);
    return "index.jsp";
}

uTools_1691852264872.png 控制台打印: uTools_1691852237384.png

  • 使用类对象 (JavaBean)

在控制单元放置一个类型对象,对象名称没有要求,只需要保证请求参数名和类的属性名相同即可

@RequestMapping("/testParam2")
public String testParam2(Person p){
    System.out.println(p.getAge() + "===" + p.getName());
    return "index.jsp";
}

uTools_1691854469626.png 控制台打印: uTools_1691854509411.png