2019高级Java程序员面试题_极悦注册
专注Java教育14年 全国咨询/投诉热线:444-1124-454
极悦LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 2019高级Java程序员面试题

2019高级Java程序员面试题

更新时间:2019-07-22 11:42:36 来源:极悦 浏览4269次

  在2019年Java程序员备战面试的过程中,整理一下面试题,大多数题目都是自己手敲的,网上也有很多这样的总结,总是很乱,所以小编花了一些时间把自己觉得重要的东西总结了一下。

高级Java程序员面试题.jpg

  @PathVariable注解和@RequestParam注解的区别。

  @RequestParam注解是获取静态URL传入的参数

  @PathVariable是获取请求路径中的变量作为参数

  /需要和@RequestMapping("item/{itemId}")配合使用

  @Param注解和@RequestParam注解的区别。

  @Parm 指定request中必须包含某些参数值是,才让该方法处理。

   注意@RequestMapping(value="test",params={"username","age!=10"})

  @param一般标注在xxxmapper.Java文件中的参数位置,代表给传入的参数别名,一般用在传入多个参数的时候,在xml文件中使用sql语句通过占#{} ${}占位符来获取

  #{}防止sql注入 

  @RequestParam value请求的参数 defaultvalue

  1.request.getParameter(“参数名”) 

  2.用@RequestParam注解获取

  Servlet标准中的过滤器:Filter和SpringMVC中的拦截器:Interceptor有什么异同?

  Filter:

  在HttpServletRequest到达Servlet之前,拦截客户的HttpServletRequest。

  根据需要检查HttpServletRequest,也可以修改HttpServletRequest头和数据。

  在HttpServletResponse到达客户端之前,拦截HttpServletResponse。

  根据需要检查HttpServletResponse,也可以修改HttpServletResponse头和数据。

  两者的本质区别:

  1、拦截器是基于java的反射机制的,而过滤器是基于函数回调 

  2、过滤器依赖与servlet容器,而拦截器不依赖与servlet容器依赖spring容器 

  3、拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用 

  4、拦截器可以访问action上下文、值栈里的对象,而过滤器不能 

  5、在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次 

  执行顺序:过滤前-拦截前-Action处理-拦截后-过滤后。

  拦截器有前置/后置/完成三个方法,在没有执行到处理器(controller)时不会只执行任何拦截器比如我controller没有/user路径

  多个执行顺序前1前2前3后3后2后1完3完2完1

  2returnfalse前1前2完1 

  (拦截了没有到达处理器,都不会触发后置)

  前置方法为true时必定有完成方法

  在Mybatis环境中如何在SQL语句中引用接口方法传入的参数?

  一. 用Map,在方法体里,我们把多个参数存放在map里,然后在前面获得它

  二. 用ibatis中的@Param

  在Mybatis环境中如何在SQL语句中引用接口方法传入的参数?

  一. 用Map,在方法体里,我们把多个参数存放在map里,然后在前面获得它

  二. 用ibatis中的@Param

  请介绍一下Maven依赖范围中compile、test、provided这三种情况

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>