SpringMVC学习之参数问题

1.SpringMVC框架中获取参数特别简单,它为用户提供了三个注解,@RequestParam,@RequestHeader,@CookieValue,并且可以设置别名,提供默认值,设置是否必须携带。如下图(图中注解()中的参数才是请求的参数名,像id,header只是起的别名而已):

SpringMVC学习之参数问题

2.并且SpringMVC中提供了参数封装功能,你可以直接写public String hello(Book book),它会自动将参数封装为book对象。

3.你还可以像上面一样写原生API,如HttpServletRequest request HttpServletResponse response HttpSession session,将它们作为参数可以直接用。

4.参数乱码问题,乱码可能有三个原因,get请求乱码,post请求乱码,响应乱码。

在SpingMVC中,get请求乱码可以找到Tomcat安装目录中的servlet.xml,将8080端口中URIEncoding=UTF-8(Tomcat8.0以上已解决)。

对于post请求乱码和响应乱码可以在filter中设置(一定要放在web.xml最前面):

SpringMVC学习之参数问题

对于响应乱码还可以设置response.setContentType("text/html;chaset=utf-8");

6.如何服务器端口被占用,第一步找到占用者的pidnetstat -a -o;第二步通过taskkill /pid 你的pid -t -f 干掉它。