1、SpringMvc 的控制器是不是单例模式,如果是,有什么问题,怎么解决?

问题:单例模式,在多线程访问的时候有线程安全问题,
解决方式:不要用同步,会影响性能,解决方案是在控制器里面不能写字段。

2、SpringMvc 中控制器的注解?

@Controller:该注解表明该类扮演控制器的角色
https://www.cnblogs.com/leskang/p/5445698.html

3、@RequestMapping 注解用在类上的作用?

作用:用来映射一个URL到一个类或者一个特定的处理方法上

4、前台多个参数,这些参数都是一个对象,快速得到对象?

方法:直接在方法中声明这个对象,SpringMVC就自动把属性赋值到这个对象里面

5、SpringMvc中函数的返回值?

String,ModelAndView,List,Set等
一般String,Ajax请求,返回一个List集合

6、SpringMvc中的转发和重定向?

转发:return:”hello”
重定向:return:”redirect:hello.jsp”

7、SpringMvc和Ajax之间的相互调用?

通JackSon框架把java里面对象直接转换成js可识别的json对象,具体步骤如下:

https://blog.csdn.net/u014079773/article/details/52984747
加入JackSon.jar
在配置文件中配置json的映射
在接受Ajax方法里面直接返回Object,list等,方法前面需要加入注解@ResponseBody

8、SpringMvc的工作流程图?

9、Struts2 和 SpringMvc的区别?

入口不同
Struts2 的核心是基于一个Filter即StrutsPreparedAndExcuteFilter
SpringMvc的核心是基于一个Servlet即DispatcherServlet(前端控制器)
开发方式不同
Struts2:基于类中的方法开发的,传递参数通过类的属性传递,只能设置为多例prototype
SpringMVC:基于方法开发(一个url对应一个方法),请求参数传递到方法参数,可以为单例(singiton)也可以为多例(建议多例)
请求方式不同
Struts2 采用的是值栈存储请求以及响应数据,OGNL存取数据
SpringMvc 采用request来解析请求内容,然后由其内部的getParameter给方法中形参赋值,再把后台处理过的数据通过ModelAndView对象存储,Model存储数据,View存储返回的页面,再把对象通过request传输到页面去。