其他分享
首页 > 其他分享> > SpringMVC---获得请求数据

SpringMVC---获得请求数据

作者:互联网

请求参数格式:name=value&name=value…

   @RequestMapping("/quick8")
   @ResponseBody
   public int save8(String username){
       System.out.println(username);
       Users users = new Users();
       users.setName(username);
       return userService.addUser(users);
   }

访问地址:localhost:8080/spring_mvc_Web_exploded/user/quick8?username=陈瓜瓜

@Component("users")
public class Users {
   private int id;
   private String name;

   public int getId() {
       return id;
   }

   public void setId(int id) {
       this.id = id;
   }

   public String getName() {
       return name;
   }

   public void setName(String name) {
       this.name = name;
   }

   @Override
   public String toString() {
       return "Users{" +
               "id=" + id +
               ", name='" + name + '\'' +
               '}';
   }
}
	//Controller
    @RequestMapping("quick9")
    @ResponseBody
    public int save9(Users users){
        System.out.println(users.toString());
        return userService.addUser(users);
    }

访问地址:localhost:8080/spring_mvc_Web_exploded/user/quick8?name=陈瓜瓜&id=1

    @RequestMapping("quick10")
    @ResponseBody
    public void save10(String[] names){
        System.out.println(Arrays.asList(names));
    }

访问地址:localhost:8080/spring_mvc_Web_exploded/user/quick8?names=陈瓜瓜&names=1

public class VO {
    private List<Users> usersList;

    public List<Users> getUsersList() {
        return usersList;
    }

    public void setUsersList(List<Users> usersList) {
        this.usersList = usersList;
    }

    @Override
    public String toString() {
        return "VO{" +
                "usersList=" + usersList +
                '}';
    }
}
    @RequestMapping("quick11")
    @ResponseBody
    public void save11(VO vo){
        System.out.println(vo);
    }

也可以指定contenType为json,在方法参数位置使用@RequestBody,可以直接接收数据。

    @RequestMapping("/quick12")
    @ResponseBody
    public void save12(@RequestBody List<Users> usersList){
        System.out.println(usersList);
    }

在这里插入图片描述

开放静态资源

都要放在< mvc:annotation-driven >下面

<!--前面是资源映射地址,后面是实际所在地址-->
<mvc:resources mapping="/js/**" location="/js/"/>

<!--或是直接交给原有容器处理,如tomcat-->
<mvc:default-servlet-handler/>

中文乱码

在web.xml里面设置过滤器

  <filter>
        <description>字符编码过滤器</description>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

@RequestParam

当前端和后台的方法中的参数名不一致时,需要显式绑定参数。

    @RequestMapping("quick13")
    @ResponseBody
    public void save13(@RequestParam("username") String name){
        System.out.println(name);
    }

访问地址:localhost:8080/spring_mvc_Web_exploded/user/quick13?username=张三

获得Restful风格参数

Restful风格的请求是使用“url+请求方式”,使用@PathVariable注解进行占位符匹配。

    @RequestMapping(value = "/quick14/{name}",method = RequestMethod.GET)
    @ResponseBody
    public void save14(@PathVariable("name") String username){
        System.out.println(username);
    }

自定义类型转换器

例如:日子类型数据需要自定义类型转换器。

import org.springframework.core.convert.converter.Converter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateConverter implements Converter<String, Date> {
    @Override
    public Date convert(String s) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date date = null;
        try {
            date = simpleDateFormat.parse(s);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }
}
<mvc:annotation-driven conversion-service="conversionService"/>

<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
    <property name="converters">
        <list>
            <bean class="com.littlepants.converter.DateConverter"/>
         </list>
    </property>
</bean>

标签:usersList,return,String,SpringMVC,void,name,---,public,请求
来源: https://blog.csdn.net/lazy_LYF/article/details/117038142