目录
一、使用Servlet原生对象获取参数
1.1 控制器方法
// 使用Servlet原生对象
@RequestMapping("c1/param8")
public void servletParam(HttpSession session,HttpServletRequest request, HttpServletResponse response){
// 原生对象获取参数
System.out.println(request.getParameter("name"));
System.out.println(response.getCharacterEncoding());
System.out.println(session.getId());
}
1.2 测试结果
二、自定义参数类型转换器
2.1 编写类型转换器类
package com.example.converter;
import org.springframework.core.convert.converter.Converter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DataConverter implements Converter<String, Date> {
/**
* 转换方法
* @param s 转换前的数据
* @return 转换后的数据
*/
@Override
public Date convert(String s) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
Date date = null;
try{
date = sdf.parse(s);
} catch (ParseException e) {
System.out.println("转换成日期格式出错了!");
e.printStackTrace();
}
return date;
}
}
2.2 注册类型转换器对象
<!-- 配置转换器工厂 -->
<bean id="dateConverter" class="org.springframework.context.support.ConversionServiceFactoryBean">
<!-- 转换器集合 -->
<property name="converters">
<set>
<!-- 自定义转换器 -->
<bean class="com.example.converter.DataConverter"></bean>
</set>
</property>
</bean>
<!-- 使用转换器工厂 -->
<mvc:annotation-driven conversion-service="dateConverter"></mvc:annotation-driven>
2.3 测试结果
三、编码过滤器
3.1 JSP表单
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>专属页面</title>
</head>
<body>
<form action="/c1/param3" method="post">
<table>
<tr>
<th>id:</th>
<td><input name="id"/></td>
</tr>
<tr>
<th>姓名:</th>
<td><input name="name"/></td>
</tr>
<tr>
<th>性别:</th>
<td><input name="sex"/></td>
</tr>
<tr>
<th>住址:</th>
<td><input name="address.info"/></td>
</tr>
<tr>
<th>邮编:</th>
<td><input name="address.postcode"/></td>
</tr>
<tr align="center">
<td><input type="submit"/></td>
</tr>
</table>
</form>
</body>
</html>
3.2 控制器方法
@RequestMapping("c1/param3")
public void objParam2(Student student){
System.out.println(student);
}
3.3 配置过滤器
<!-- SpringMVC中提供的字符编码过滤器,放在所有过滤器的最上方 -->
<filter>
<filter-name>encFilter</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>encFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3.4 测试结果
往期专栏&文章相关导读
1. Maven系列专栏文章
Maven系列专栏 | Maven工程开发 |
Maven聚合开发【实例详解---5555字】 |
2. Mybatis系列专栏文章
Mybatis系列专栏 | MyBatis入门配置 |
Mybatis入门案例【超详细】 | |
MyBatis配置文件 —— 相关标签详解 | |
Mybatis模糊查询——三种定义参数方法和聚合查询、主键回填 | |
Mybatis动态SQL查询 --(附实战案例--8888个字--88质量分) | |
Mybatis分页查询——四种传参方式 | |
Mybatis一级缓存和二级缓存(带测试方法) | |
Mybatis分解式查询 | |
Mybatis关联查询【附实战案例】 | |
MyBatis注解开发---实现增删查改和动态SQL | |
MyBatis注解开发---实现自定义映射关系和关联查询 |
3. Spring系列专栏文章
Spring系列专栏 | Spring IOC 入门简介【自定义容器实例】 |
IOC使用Spring实现附实例详解 | |
Spring IOC之对象的创建方式、策略及销毁时机和生命周期且获取方式 | |
Spring DI简介及依赖注入方式和依赖注入类型 | |
Spring IOC相关注解运用——上篇 | |
Spring IOC相关注解运用——下篇 | |
Spring AOP简介及相关案例 | |
注解、原生Spring、SchemaBased三种方式实现AOP【附详细案例】 | |
Spring事务简介及相关案例 | |
Spring 事务管理方案和事务管理器及事务控制的API | |
Spring 事务的相关配置、传播行为、隔离级别及注解配置声明式事务 |
4. Spring MVC系列专栏文章
SpringMVC系列专栏 | Spring MVC简介附入门案例 |
Spring MVC各种参数获取及获取方式自定义类型转换器和编码过滤器 | |
Spring MVC获取参数和自定义参数类型转换器及编码过滤器 | |
Spring MVC处理响应附案例详解 | |
Spring MVC相关注解运用 —— 上篇 | |
Spring MVC相关注解运用 —— 中篇 | |
Spring MVC相关注解运用 —— 下篇 | |
Spring MVC多种情况下的文件上传 | |
Spring MVC异步上传、跨服务器上传和文件下载 | |
Spring MVC异常处理【单个控制异常处理器、全局异常处理器、自定义异常处理器】 | |
Spring MVC拦截器和跨域请求 | |
SSM整合案例【C站讲解最详细流程的案例】 |