### SpringMVC可以直接在参数上传入的原生API包含:
- **HttpServletRequest**
- **HttpServletResponse**
- **HttpSession**
- **java.security.Principal**
- **Locale**:
国际化有关的区域信息对象
- **InputStream**:
ServletInputStream inputStream = request.getInputStream();
- **OutputStream**:
ServletOutputStream outputStream = response.getOutputStream();
- **Reader**:
ufferedReader reader = request.getReader();
- **Writer**:
PrintWriter writer = response.getWriter();
### SpringMVC处理中文乱码:
#### 响应乱码:
设置响应的contentType
```java
response.setContentType("text/html;charset=utf-8")
```
#### 请求乱码:
- **GET请求**:修改server.xml配置文件;在8080端口处增加URIEncoding="UTF-8"
- **POST请求:**:在第一次获取请求参数之前设置request.setCharacterEncoding("UTF-8");通过在web.xml文件中配置filter来实现
#### 同时解决响应/请求乱码:
在web.xml文件中添加SpringMVC支持的CharacterEncodingFilter来实现:
```xml
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter </filter-class>
<init-param>
<!--初始化请求编码为UTF-8-->
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<!--修改forceEncoding为true-->
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
```

SpringMVC温故而知新