1、SpringMvc 的控制器是不是单例模式,如果是,有什么问题,怎么解决?
问题:单例模式,在多线程访问的时候有线程安全问题,
解决方式:不要用同步,会影响性能,解决方案是在控制器里面不能写字段。
2、SpringMvc 中控制器的注解?
@Controller:该注解表明该类扮演控制器的角色
https://www.cnblogs.com/leskang/p/5445698.html
3、@RequestMapping 注解用在类上的作用?
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传输到页面去。
