SpringMVC五種類型參數(shù)傳遞及json傳遞參數(shù)
學(xué)習(xí)內(nèi)容:
1.普通參數(shù)
2.pojo參數(shù)
3.嵌套pojo
4.數(shù)組參數(shù)
5.集合參數(shù)
6.解決中文亂碼
7.json數(shù)據(jù)傳遞參數(shù)
案例分析:
1.pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ? ? ? ? ?xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> ? <modelVersion>4.0.0</modelVersion> ? <groupId>org.example</groupId> ? <artifactId>SpringMVC-Demo1</artifactId> ? <version>1.0-SNAPSHOT</version> ? <packaging>war</packaging> ? <dependencies> ? ? <dependency> ? ? ? <groupId>org.springframework</groupId> ? ? ? <artifactId>spring-webmvc</artifactId> ? ? ? <version>5.2.22.RELEASE</version> ? ? </dependency> ? ? <dependency> ? ? ? <groupId>javax.servlet</groupId> ? ? ? <artifactId>javax.servlet-api</artifactId> ? ? ? <version>4.0.1</version> ? ? ? <scope>provided</scope> ? ? </dependency> ? ? ?<dependency> ? ? ? <groupId>com.fasterxml.jackson.core</groupId> ? ? ? <artifactId>jackson-databind</artifactId> ? ? ? <version>2.13.3</version> ? ? </dependency> ? </dependencies> </project>
2.ServletContainersInitConfig
package com.study.config; import org.springframework.web.filter.CharacterEncodingFilter; import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; import javax.servlet.Filter; public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer { ? ? @Override ? ? protected Class<?>[] getRootConfigClasses() { ? ? ? ? return new Class[0]; ? ? } ? ? @Override ? ? protected Class<?>[] getServletConfigClasses() { ? ? ? ? return new Class[]{SpringMvcConfig.class}; ? ? } ? ? @Override ? ? protected String[] getServletMappings() { ? ? ? ? return new String[]{"/"}; ? ? } ? ? @Override ? ? protected Filter[] getServletFilters() { ? ? ? ? CharacterEncodingFilter filter = new CharacterEncodingFilter(); ? ? ? ? filter.setEncoding("UTF-8"); ? ? ? ? return new Filter[]{filter}; ? ? } } /* public class ServletContainersInitConfig extends AbstractDispatcherServletInitializer { ? ? //加載SpringMVC容器配置 ? ? @Override ? ? protected WebApplicationContext createServletApplicationContext() { ? ? ? ? AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext(); ? ? ? ? ctx.register(SpringMvcConfig.class); ? ? ? ? return ctx; ? ? } ? ? //設(shè)置哪些請求可以歸屬SpringMVC處理 ? ? @Override ? ? protected String[] getServletMappings() { ? ? ? ? return new String[]{"/"}; ? ? } ? ? //加載Spring容器配置 ? ? @Override ? ? protected WebApplicationContext createRootApplicationContext() { ? ? ? ? AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext(); ? ? ? ? ctx.register(SpringConfig.class); ? ? ? ? return ctx; ? ? } }*/
3.SpringMvcConfig
package com.study.config; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @Configuration @ComponentScan("com.study.controller") public class SpringMvcConfig { }
4.UserController
package com.study.controller; import com.study.domain.User; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import java.util.Arrays; import java.util.List; @Controller public class UserController { ? ? //1.普通參數(shù)傳遞 ? ? @RequestMapping("/commonParam") ? ? @ResponseBody ? ? public String commonParam(String name,int age){ ? ? ? ? System.out.println("普通參數(shù)傳遞name:"+name); ? ? ? ? System.out.println("普通參數(shù)傳遞age:"+age); ? ? ? ? return "'module':'common param'"; ? ? ? ? //http://localhost:8080/SpringMVC_Demo3/commonParam?name=tom&age=13 ?普通參數(shù)傳遞name:jack ?普通參數(shù)傳遞age:13 ? ? } ? ? //2.pojo參數(shù)傳遞 ? ? @RequestMapping("/pojo") ? ? @ResponseBody ? ? public String pojoParam(User user){ ? ? ? ? System.out.println("pojo參數(shù)傳遞user:"+user); ? ? ? ? return "'module':'pojo.....'"; ? ? ? ? //http://localhost:8080/SpringMVC_Demo3/pojo?name=%E5%B0%8F%E9%A3%9E%E4%BE%A0&age=13 ? ? ?//pojo參數(shù)傳遞user:User{name='小飛俠', age=13} ? ? } ? ? // 3.嵌套pojo參數(shù) ? ? @RequestMapping("/pojos") ? ? @ResponseBody ? ? public String pojosParam(User user){ ? ? ? ? System.out.println("pojos參數(shù)傳遞user:"+user); ? ? ? ? return "'module':'pojos.....'"; ? ? ? ? //http://localhost:8080/SpringMVC_Demo3/pojos?name=%E5%B0%8F%E9%A9%AC%E5%93%A5&age=13&address.province=%E6%B2%B3%E5%8D%97&address.city=%E5%95%86%E4%B8%98 ? ? ? ? //pojo參數(shù)傳遞user:User{name='小馬哥', age=13, address=Address{province='河南', city='商丘'}} ? ? } ? ? //4.數(shù)組參數(shù)傳遞 ? ? @RequestMapping("/arr") ? ? @ResponseBody ? ? public String array(String [] arr){ ? ? ? ? System.out.println("數(shù)組參數(shù)傳遞arr:"+ Arrays.toString(arr)); ? ? ? ? return "'module':'array.....'"; ? ? ? ? //http://localhost:8080/SpringMVC_Demo3/arr?arr=1&arr=2&arr=3 ? ? ? ? //數(shù)組參數(shù)傳遞arr:[1, 2, 3] ? ? } ? ? //5.集合參數(shù) ? ? @RequestMapping("/coll") ? ? @ResponseBody ? ? public String collection(@RequestParam List<String> colls){ ? ? ? ? System.out.println("集合參數(shù)傳遞colls:"+colls); ? ? ? ? return "'module':'collection.....'"; ? ? ? ? //http://localhost:8080/SpringMVC_Demo3/coll?colls=1&colls=2&colls=3 ? ? ? ? //集合參數(shù)傳遞colls:[1, 2, 3] ? ? } ? ? ?//6.pojo參數(shù):json格式 ? ? @RequestMapping("/json") ? ? @ResponseBody ? ? public String json(User user) throws JsonProcessingException { ? ? ? ? ObjectMapper objectMapper = new ObjectMapper(); ? ? ? ? String json = objectMapper.writeValueAsString(user); ? ? ? ? System.out.println(json); ? ? ? ? return "'module':'json.....'"; ? ? ? ? //http://localhost:8080/SpringMVC_Demo3/json?name=小馬哥&age=23&address.province=河南&address.city=商丘 ? ? ? ? //{"name":"小馬哥","age":23,"address":{"province":"河南","city":"商丘"}} ? ? } }
5.Address
package com.study.domain; public class Address { ? ? private String province; ? ? private String city; ? ? public String getProvince() { ? ? ? ? return province; ? ? } ? ? public void setProvince(String province) { ? ? ? ? this.province = province; ? ? } ? ? public String getCity() { ? ? ? ? return city; ? ? } ? ? public void setCity(String city) { ? ? ? ? this.city = city; ? ? } ? ? @Override ? ? public String toString() { ? ? ? ? return "Address{" + ? ? ? ? ? ? ? ? "province='" + province + '\'' + ? ? ? ? ? ? ? ? ", city='" + city + '\'' + ? ? ? ? ? ? ? ? '}'; ? ? } }
6.User
package com.study.domain; public class User { ? ? private String name; ? ? private int age; ? ? private Address address; ? ? public Address getAddress() { ? ? ? ? return address; ? ? } ? ? public void setAddress(Address address) { ? ? ? ? this.address = address; ? ? } ? ? public String getName() { ? ? ? ? return name; ? ? } ? ? public void setName(String name) { ? ? ? ? this.name = name; ? ? } ? ? public int getAge() { ? ? ? ? return age; ? ? } ? ? public void setAge(int age) { ? ? ? ? this.age = age; ? ? } ? ? @Override ? ? public String toString() { ? ? ? ? return "User{" + ? ? ? ? ? ? ? ? "name='" + name + '\'' + ? ? ? ? ? ? ? ? ", age=" + age + ? ? ? ? ? ? ? ? ", address=" + address + ? ? ? ? ? ? ? ? '}'; ? ? } }
到此這篇關(guān)于SpringMVC五種類型參數(shù)傳遞及json傳遞參數(shù)的文章就介紹到這了,更多相關(guān)SpringMVC類型參數(shù)傳遞及json傳遞參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot的類加載器(org.springframework.boot.loader)過程詳解
這篇文章主要介紹了springboot的類加載器(org.springframework.boot.loader),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11Java Socket設(shè)置timeout的幾種常用方式說明
這篇文章主要介紹了Java Socket設(shè)置timeout的幾種常用方式說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11