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

相关推荐
也无晴也无风雨1 小时前
深入剖析输入URL按下回车,浏览器做了什么
前端·后端·计算机网络
Martin -Tang1 小时前
Vue 3 中,ref 和 reactive的区别
前端·javascript·vue.js
FakeOccupational3 小时前
nodejs 020: React语法规则 props和state
前端·javascript·react.js
放逐者-保持本心,方可放逐3 小时前
react 组件应用
开发语言·前端·javascript·react.js·前端框架
曹天骄4 小时前
next中服务端组件共享接口数据
前端·javascript·react.js
阮少年、4 小时前
java后台生成模拟聊天截图并返回给前端
java·开发语言·前端
郝晨妤6 小时前
鸿蒙ArkTS和TS有什么区别?
前端·javascript·typescript·鸿蒙
AvatarGiser6 小时前
《ElementPlus 与 ElementUI 差异集合》Icon 图标 More 差异说明
前端·vue.js·elementui
喝旺仔la6 小时前
vue的样式知识点
前端·javascript·vue.js
别忘了微笑_cuicui6 小时前
elementUI中2个日期组件实现开始时间、结束时间(禁用日期面板、控制开始时间不能超过结束时间的时分秒)实现方案
前端·javascript·elementui