创建springMVC项目
- 创建maven-web项目
- 导入springMVC依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.16</version>
</dependency>
- 配置tomcat(插件/依赖)
- 创建控制器类,跳转到index.jsp页面
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";
}
}
- 新建springmvc配置文件springmvc.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"
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>
- 编写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";
}
控制台打印:
- 使用类对象 (JavaBean)
在控制单元放置一个类型对象,对象名称没有要求,只需要保证请求参数名和类的属性名相同即可
@RequestMapping("/testParam2")
public String testParam2(Person p){
System.out.println(p.getAge() + "===" + p.getName());
return "index.jsp";
}
控制台打印: