SpringMVC

链接:https://download.csdn.net/download/qq_60567426/88795164

1、SpringMVC是一个基于Spring框架的Web MVC(模型-视图-控制器)框架。

流程:

①创建web-app后,向pom.xml文件导入Springmvc和servlet

目录如下:

java 复制代码
  <dependencies>
	  <dependency>
		  <groupId>javax.servlet</groupId>
		  <artifactId>javax.servlet-api</artifactId>
		  <version>4.0.1</version>
		  <scope>provided</scope>
	  </dependency>
	  <dependency><groupId>org.springframework</groupId>
	  <artifactId>spring-webmvc</artifactId>
	  <version>5.2.10.RELEASE</version></dependency>
  </dependencies>

<build>
    <plugins>
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat9-maven-plugin</artifactId>
        <version>3.0.1</version>
        <configuration>
			<port>80</port>
          <path>/</path>
        </configuration>
      </plugin>
    </plugins>
  </build>

②写下一个Controller类

UserController.java

java 复制代码
package com.Baike.Controller;

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

@Controller
public class UserController {
	
	@RequestMapping("/save")
	@ResponseBody
	public String save() {
		System.out.print("123456");
		return "{'id':'1'}";
	}
}

③写一个Config文件,让Spring能扫描到Controller

SpringMvcConfig.java

java 复制代码
package com.Baike.Config;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan("com.Baike.Controller")
public class SpringMvcConfig {
	
	
}

④:定义一个servlet容器启动的配置类,在里面加载spring的配置。

Servletboot.java

java 复制代码
package com.Baike.Config;

import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.support.AbstractDispatcherServletInitializer;

public class Servletboot extends AbstractDispatcherServletInitializer{

	
	//加载Springmvc容器配置
	@Override
	protected WebApplicationContext createServletApplicationContext() {
		// TODO Auto-generated method stub
		AnnotationConfigWebApplicationContext ctx=new AnnotationConfigWebApplicationContext();
		ctx.register(SpringMvcConfig.class);
		return ctx;
	}
    
	//设置哪些请求归属Springmvc处理
	@Override
	protected String[] getServletMappings() {
		// TODO Auto-generated method stub
		return new String[]{"/"};
	}
	
	//加载spring容器配置
	@Override
	protected WebApplicationContext createRootApplicationContext() {
		// TODO Auto-generated method stub
		return null;
	}
	
}

最后访问链接http://localhost/test/save

就能访问到资源,链接结构为localhost/你的项目名/controller的requestmapping名

整个项目结构为:

参数传递:

传递方式:

①普通传参(这种传参需要顺序一一对应)

http://localhost/test/user/save?name='你好'&age=16

②注解传参(这种传参可以让参数不按照顺序,在参数前面加入@RequestParam("后端的参数key值"))

http://localhost/test/user/save?age=20&name='三级'

③pojo(实体对象)传参

④集合传参(传参需要键值key与括号里面参数名一样)

⑤JSON传参

向pom.xml添加以下代码,让能识别到json格式

复制代码
​​	  <dependency>
		  <groupId>com.fasterxml.jackson.core</groupId>
		  <artifactId>jackson-databind</artifactId>
		  <version>2.9.0</version>
	  </dependency>

向SpringMvc配置文件中加入@EnableWebMvc

⑥ 日期型参数传递@DateTimeFormat

⑦类型转换Convert

相关推荐
Ashley的成长之路1 小时前
前端性能优化实战手册·第2篇:资源加载策略全解
前端·性能优化·资源加载·http/3·性能优化实战·资源加载优化
浅水壁虎1 小时前
vue基础(第二章 )
前端·javascript·vue.js
界面开发小八哥1 小时前
界面控件DevExtreme v26.1新版亮点——支持Angular 22
前端·javascript·angular.js·devexpress·ui开发·devextreme
Getflare1 小时前
前端 + UI 设计 + AI:这不是三个工种,是一个新三角能力模型(附自检清单)
前端·人工智能·ui
oil欧哟1 小时前
我做了一个 Vibe Coding 术语学习站:VibeHub
前端·ai·agent·独立开发·vibe coding
审小匠OpenCPAi2 小时前
银行流水核查怎么自动化?单边匹配、双向勾稽与图聚类异常检测的工程对比
java·前端·人工智能·python·审计
Revolution612 小时前
一个公共表格组件,是怎么一步步失控的
前端·前端工程化
腻害兔2 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:CRM 客户关系模块深度解析——从线索到回款,一套完整的 B2B 销售闭环是怎么搭的?
java·前端·javascript·vue.js·产品经理·ai编程
whyfail3 小时前
前端学 Spring Boot(2):一次点击,如何穿过整个后端?
前端·spring boot·后端