美文网首页
2019年Java面试题(十三) SpringMVC 2019-

2019年Java面试题(十三) SpringMVC 2019-

作者: 码记 | 来源:发表于2019-04-27 13:18 被阅读0次

1. springmvc与struts2比较

答案:

1).入口不同:

Struts2:filter过滤器

SpringMvc:一个Servlet即前端控制器

2).开发方式不同:

Struts2:基于类开发,传递参数通过类的属性,只能设置为多例

SpringMvc:基于方法开发(一个url对应一个方法),请求参数传递到方法形参,可以为单例也可以为多例(建议单例)

3).请求方式不同:

Struts2:值栈村塾请求和响应的数据,通过OGNL存取数据

SpringMvc:通过参数解析器将request请求内容解析,给方法形参赋值,将数据和视图封装成ModelAndView对象,最后又将ModelAndView中的模型数据通过request域传输到页面,jsp视图解析器默认使用的是jstl。

另一种答案: 

1  在数据封装方面 ,spring3mvc方法级别  struts2 类级别  spring3mvc开发效率高于 struts2

2  spring3mvc 注解版基本上是零配置

3  springmvc与spring是一家人,兼容性好

4  struts2 存在安全漏洞

      可以通过ongl表达式 格式化硬盘

      使用重定向定位到钓鱼网站

2. spring mvc 注解

  1  @Controller  标注为spring容器的中的bean 做为c

  2    作用域注解  有五大作用域: 原型  单例  request  session  全局session

  3  @RequestMapping 访问路径,可以用在类或者方法上 访问路径类/方法

  4  @responsebody 返回字符串,一般用于返回json格式

  5  @ModelAttribute 放入request作用域

  6  @SessionAttributes 值能用在类上

  7  @requestParam  主要用于数据封装时,页面的参数名与方法参数不一致时

  8  @pathVarible  主要用于获取路径变量的值

3. 如何使用 SpringMVC 完成 JSON 操作

① 配置 MappingJacksonHttpMessageConverter

② 使用 @RequestBody 注解或 ResponseEntity 作为返回值

4. 说说spring dao 

    1 对jdbc进行了封装,提供了两大模板技术封装了jdbc步骤,数据源的实现,行映射器进行记录与对象的转换工作,

          使用daoSupport方便获取模板

    2 给模板类注入数据源,之后使用模板类的api进行数据操作

5. Spring MVC 工作机制及为什么要用?

1) 客户端所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。

2) DispatcherServlet 查询一个或多个HandlerMapping,找到处理请求的Controller.

3) DispatcherServlet 请请求提交到目标Controller

4) Controller 进行业务逻辑处理后,会返回一个ModelAndView

5) Dispathcher 查询一个或多个ViewResolver 视图解析器,找到ModelAndView 对象指定的视图对象

6) 视图对象负责渲染返回给客户端。

相关文章

网友评论

      本文标题:2019年Java面试题(十三) SpringMVC 2019-

      本文链接:https://www.haomeiwen.com/subject/idxknqtx.html