一、简单的谈一下SpringMVC的工作流程?

流程 
1、用户发送请求至前端控制器DispatcherServlet 
2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。 
3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。 
4、DispatcherServlet调用HandlerAdapter处理器适配器 
5、HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。 
6、Controller执行完成返回ModelAndView 
7、HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet 
8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器 
9、ViewReslover解析后返回具体View 
10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。 
11、DispatcherServlet响应用户
二、SpringMVC常用的注解有哪些?

    @RequestMapping:用于请求url映射

    @RequestBody:注解实现接收http请求的json数据,将json转换为java对象

    @ResponseBody:注解实现将conreoller方法返回对象转化为json对象响应给客户


三、如何开启注解处理器和适配器?

    我们在项目中一般会在springmvc.xml中通过开启<mvc:annotation-driven>来实现注解处理器和适配器的开启

四、如何解决get和post乱码问题?

    解决post请求乱码:我们可以在web.xml里边配置一个CharacterEncodingFilter 过滤器。设置为utf-8

    解决get请求乱码有两种方法,对于get请求中文参数出现乱码解决方法有两个:

         1)修改tomcat配置文件添加编码和工程编码一致

         2)另一种方法对参数进行重新编码,如:

        String username = new String(Request.getParameter("userName").getBytes("ISO8859-1"),"utf-8");

更多推荐

SpringMVC的常见面试题总结