客户端请求参数的格式是: name=value&name=value..…
服务器端要获得请求的参数,有时还需要进行数据的封装,SpringMVC可以接收如下类型的参数:
  基本类型参数
   POJO类型参数
   数组类型参数
   集合类型参数
获得基本类型参数
Controller中的业务方法的参数名称要与请求参数的name一致,参数值会自动映射匹配。


获得POJO类型参数

获得数组类型参数

获得集合数据类型参数
import java.util.List;
public class Vo {
    private List<User> userList;
    @Override
    public String toString() {
        return "Vo{" +
                "userList=" + userList +
                '}';
    }
    public List<User> getUserList() {
        return userList;
    }
    public void setUserList(List<User> userList) {
        this.userList = userList;
    }
}
    @RequestMapping("/quick11")
    @ResponseBody//告诉SPring框架, 不进行视图跳转, 直接进行数据响应
    public void save11(Vo vo){
        System.out.println(vo);
    }
<body>
    <form action="${pageContext.request.contextPath}/user/quick11" method="post">
<%--        要表明第几个User对象的name和age--%>
        <input type="text" name="userList[0].username"><br/>
        <input type="text" name="userList[0].age"><br/>
        <input type="text" name="userList[1].username"><br/>
        <input type="text" name="userList[1].age"><br/>
        <input type="text" name="userList[2].username"><br/>
        <input type="text" name="userList[2].age"><br/>
        <input type="text" name="userList[3].username"><br/>
        <input type="text" name="userList[3].age"><br/>
        <input type="submit" value="提交">
    </form>
</body> 



直接访问会出现找不到资源的情况需要对静态资源访问权限开放
第一种开放资源的访问权限 第二种交给原始容器去匹配寻找静态资源
 
运行时汉字出现乱码需要在WEB.XML配置全局过滤的filter
<!--    配置全局过滤的filter-->
    <filter>
        <filter-name>CharacterEncodingFilter</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>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
 
参数绑定注解@requestParam

 获得Restful等个的参数
 
 自定义类型转换器
 
 
//①
public class DataConverter implements Converter<String, Data> {
    @Override
    public Data convert(String source) {
        //将日期字符串转换为日期对象 然后返回
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        Data data = null;
        try {
            Date date = format.parse(source);
        } catch (ParseException e) {
            throw new RuntimeException(e);
        }
        return data;
    }
}
//②
<!--    声明转换器-->
    <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
        <property name="converters">
            <list>
                <bean class="com.itheima.converter.DataConverter"/>
            </list>
        </property>
    </bean>
</beans>
//③
<!--    mvc的注解驱动-->
    <mvc:annotation-driven conversion-service="conversionService"/> 
获得Servlet相关API

获得请求头信息












![[ctfshow web入门] web7](https://i-blog.csdnimg.cn/direct/ad4910345cb34925ae416c4c9599404f.png)








