当前位置: 首页 > news >正文

MVC接收请求教程

mvc接收各种请求

1-环境搭建

1.1-准备apifox发送请求
1.2-项目搭建
①创建Web骨架的Maven项目

​ --打开2023-IDEA ,选择New Project

​ --选择Maven Archetype

​ --注意点:Catalog默认就行了

​ --Archetype选择webapp

​ --JDK跟着黑马敲最好用11

②创建好以上包结构

在这里插入图片描述

③导入pom.xml坐标
 <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.2.10.RELEASE</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.6</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.6</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.2.10.RELEASE</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.0</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>3.0.3</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>RELEASE</version><scope>provided</scope></dependency></dependencies>
④导入各种类,接口等

​ --config配置类

//ServletContainersInitConfig
public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer {protected Class<?>[] getRootConfigClasses() {return new Class[]{SpringConfig.class};}protected Class<?>[] getServletConfigClasses() {return new Class[]{SpringMvcConfig.class};}protected String[] getServletMappings() {return new String[]{"/"};}@Overrideprotected Filter[] getServletFilters() {CharacterEncodingFilter charactFilter =  new CharacterEncodingFilter();charactFilter.setEncoding("UTF-8");return new Filter[]{charactFilter};}
}//SpringConfig
@Configuration
@ComponentScan(value = "com.bdqn",excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Controller.class)) //排除注解类型,排除Controller.class
public class SpringConfig {
}//SpringMvcConfig
@Configuration //标识这是一个配置类
@ComponentScan("com.bdqn.controller") //对指定范围进行扫包,对容器注册Bean对象
@EnableWebMvc //@EnableWebMvc 的作用是将当前的配置类标识为 Spring MVC 的配置类,并通过自动配置和默认功能,为我们提供方便快捷的 Spring MVC 开发环境。
public class SpringMvcConfig {
}

​ --controller包

//UserController
@Controller
public class UserController {@RequestMapping("/save")@ResponseBodypublic String save(){System.out.println("user save ...");return "{'info':'springmvc'}";}//post带中文参数的接收@RequestMapping("/getUser")@ResponseBodypublic String getUser(String name,int age){System.out.println("姓名:"+name);System.out.println("年龄:"+age);return "{'name':'"+name+"','age':'"+age+"',}";}//post发送json数据的接收@RequestMapping("/getJson")@ResponseBodypublic String getJson(@RequestBody User user){System.out.println("姓名:"+user.getName());System.out.println("年龄:"+user.getAge());return "{'name':'"+user.getName()+"','age':'"+user.getAge()+"',}";}
}

​ --mapper包

public interface UserDao {@Insert("insert into tbl_user(name,age)values(#{name},#{age})")public void save(User user);
}

​ --pojo包

@Data
public class User {private Integer id;private String name;private Integer age;//setter..getter..toString略
}

​ --service包

public interface UserService {public void save(User user);
}

​ --impl

@Service
public class UserServiceImpl implements UserService {@Overridepublic void save(User user) {System.out.println("user service ...");}
}

2-请求参数

2.1-普通参数
①接口参数
请求类型--get请求地址--http://localhost/commonParamDifferentName?name=张三&age=18请求参数--name=张三&age=18请求名称:普通参数请求    
②接收代码
@RequestMapping("/commonParamDifferentName")
@ResponseBody
public String commonParamDifferentName(String userName , int age){System.out.println("普通参数传递 userName ==> "+userName);System.out.println("普通参数传递 age ==> "+age);return "{'module':'common param different name'}";
}
2.2-pojo参数
①接口参数
请求类型--post请求地址--http://localhost/pojoParam请求参数--name=张三&age=18请求名称:pojo参数请求    
②接收代码
//POJO参数:请求参数与形参对象中的属性对应即可完成参数传递
@RequestMapping("/pojoParam")
@ResponseBody
public String pojoParam(User user){System.out.println("pojo参数传递 user ==> "+user);return "{'module':'pojo param'}";
}
http://www.lryc.cn/news/320952.html

相关文章:

  • P8711 [蓝桥杯 2020 省 B1] 整除序列 存疑解决篇 Python
  • 「Linux系列」聊聊vi/vim的3种命令模式
  • 密码学——数字签名
  • 【Mysql事务】
  • 从SQL质量管理体系来看SQL审核(2) - SQL质量标准
  • idea远程试调jar、远程试调war
  • hdlbits系列verilog解答(Gatesv)-58
  • pdf文件属性的删除
  • OpenAI 的 GPTs 提示词泄露攻击与防护实战:防御卷(二)
  • mysql update set时使用and连接使更新的数据出现问题
  • 高职(大专)教师结构化面试之复习攻略
  • 蓝桥杯C++大学B组一个月冲刺记录2024/3/18
  • 科技云报道:第五次工业革命,中国AI企业如何打造新质生产力?
  • 图片怎么转jpg格式?一键完成图片格式转换
  • Qt笔记 信号和槽
  • 后端配置拦截器的一个问题【问题】
  • C++提高笔记(六)---STL函数对象、STL常用算法(遍历、查找)
  • 【每日一问】手机如何开启USB调试?
  • Java映射知识点(含面试大厂题含源码)
  • 拆解Spring boot:Springboot为什么如此丝滑而简单?源码剖析解读自动装配
  • 中国银行信息系统应用架构发展历程
  • 掌握Go语言:探索Go语言指针,解锁高效内存操作与动态数据结构的奥秘(19)
  • 大数据面试题 —— Zookeeper
  • 【安全类书籍-6】僵尸网络:网络程序杀手
  • 文件的创建与删除
  • 图论题目集一(代码 注解)
  • 解释MVC和MVVM架构模式
  • OLLAMA:如何像云端一样运行本地大语言模型
  • React全家桶及原理解析-lesson4-Redux
  • 电商api数据接口技术开发来赞达lazada通过商品ID抓取商品详情信息item_get请求key接入演示