springMvc面试题

1、SpringMVC的工作流程

用户发起请求到前端控制器。

前端控制器请求处理器映射器查找处理Handler,处理器映射器返回Handler。

前端控制器调用处理器适配器去执行handler, 执行完给适配器返回ModelAndView,处理器适配器向前端控制器返回ModelAndView。

前端控制器请求视图解析器去进行视图解析,视图解析器返回View。

前端控制器进行视图渲染,前端控制器向用户响应结果。

 

2、如何解决中文乱码问题

方案一:首先到web.xml配置CharacterEncodingFilter过滤器,将编码设置为UTF-8。

方案二:找到tomcat安装目录的server.xml,将对应端口的URIEncoding属性设置为UTF-8。

 

3、SpringMVC和Struts2的主要区别

SpringMVC中央控制器是一个servlet,Struts2是用过滤器实现的

SpringMVC是基于方法开发的,用形参传递参数(Spring是单实例的,形参传递安全),Struts2是基于类开发的,用类的属性传递参数(Struts是多实例的形参安全,可以用属性传递)

SpringMVC返回值是ModelAndView,Struts2直接返回视图

 

4、SpringMVC用什么对象从后台向前台传递数据

ModelMap:跳转传递

JSON:无跳转,无刷新

通过Model或者ModelAndView对象,将数据填充进去,然后返回。(两者区别:Model仅仅是封装数据,不会进行寻址,ModelAndView会寻址,并且要自己声明)

通过ModelMap对象,可以在这个对象里面用put方法,把对象加到里面,前台就可以通过el表达式拿到

 

5、SpringMVC怎么和AJAX相互调用

通过jackson框架直接把java对象转换成json对象返回。

步骤:

  1、添加jackson依赖,

  2、在配置文件中配置jackson相关的消息转换器,

  3、在需要返回json的Controller方法上添加@ResponseBody注解。

 

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

是单例模式,会用线程安全问题,解决方案是在控制器里面不能写字段,尽量使用局部变量。

 

7、SpringMVC中的控制器的注解一般用哪个,有没有别的注解可以替代

一般用@Controller,表示控制层,不能用别的注解代替。

 

8、什么是Rest 

Rest是一种设计风格,可以理解网络上的操作都是操作资源,那么操作资源的四个动作就是Get、Delete、Put、Post。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值