Java Web框架面经题(未整理)

  1. Spring MVC注解的优点
  2. Spring MVC有了解嘛,Spring 事务有了解嘛
  3. 说一下IOC和AOP
  4. Java的反射机制?
  5. tomcat均衡方式?
  6. Spring IOC AOP?
    IOC:控制反转也叫依赖注入,IOC利用java反射机制。所谓控制反转是指,本来被调用者的实例是有调用者来创建的,这样的缺点是耦合性太强,IOC则是统一交给spring来管理创建,将对象交给容器管理,你只需要在spring配置文件总配置相应的bean,以及设置相关的属性,让spring容器来生成类的实例对象以及管理对象。在spring容器启动的时候,spring会把你在配置文件中配置的bean都初始化好,然后在你需要调用的时候,就把它已经初始化好的那些bean分配给你需要调用这些bean的类。
    AOP是对OOP的补充和完善。AOP利用的是代理,分为CGLIB动态代理和JDK动态代理。OOP引入封装、继承和多态性等概念来建立一种对象层次结构。OOP编程中,会有大量的重复代码。而AOP则是将这些与业务无关的重复代码抽取出来,然后再嵌入到业务代码当中。实现AOP的技术,主要分为两大类:一是采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行;二是采用静态织入的方式,引入特定的语法创建“方面”,从而使得编译器可以在编译期间织入有关“方面”的代码,属于静态代理.
  7. Spring IOC有哪些好处?
    降低了组件之间的耦合性 ,实现了软件各层之间的解耦.
  8. SpringMVC的运行流程?
    客户端发送HTTP请求到服务器
    SpringMVC的核心DispatcherServlet将请求交给HandlerMapping处理
    HandlerMapping通过查询机制找到处理当前请求的Handler
    DispatcherServlet将请求交给这个Handler处理
    Handler处理完成后返回一个ModleAndView对象,这个对象包含视图逻辑名和数据对象
    返回的视图逻辑名会通过视图解析器解析成真正的视图,并交给DispatcherServlet处理
    DispatcherServlet将请求分派给真正的视图对象,并反映到客户端
  9. 说几个SpringMVC的几个注解,都是干啥的?
    @Controller:用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。
    @RequestMapping:是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
    @Resource和@Autowired:@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。
    @ResponseBody:返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用。
    @Repository:DAO层
    @Service:服务层
  10. autowired 和resource区别?
  11. 类加载机制loadclass和findclass使用,defineclass怎么用呢。
  12. 如何写一个自己的类加载器呢。
  13. 说说filter、servlet、listener。
    Listener我是这样理解他的,他是一种观察者模式的实现。
    Filter的使用户可以改变一 个request或修改一个response。 Filter 不是一个servlet,它不能产生一个response,但是他能够在一个request到达servlet之前预先处理request,也可以在一个响应离开 servlet时处理response。
  14. @Autowired的实现原理
  15. 拦截器相关,属于哪个包
  16. Servlet是线程安全的吗?
  17. java中的类加载过程?
  18. 说一下类加载器,自定义一个类加载器。
  19. tomcat缓存,聊下缓存的整体理解,知道多少种缓存
  20. spring的bean生命周期(详细)、作用域
  21. 聊下spring注解,@Autowire,@Resource,以及他们的解析过程
  22. springioc的具体优势,和直接new一个对象有什么区别
  23. 什么情况下会触发类加载
  24. 拦截器和Spring AOP区别
  25. @restcontroller和@controller的区别
  26. 依赖注入的方式有几种,哪几种
  27. Mybatis和Hibernate的区别
  28. Filter和Servlet先过哪个
  29. web.xml里面一般配了哪些东西
  30. 一个url如何映射到controller的
  31. 你觉得Spring设计得最好的是?(答IOC,AOP)
  32. JVM加载.class文件的过程
  33. SpringMVC 和 struts2 的区别。
  34. 了解正向代理和反向代理吗
  35. 拦截器底层实现原理
  36. SpringMVC的底层原理和运行机制
  37. SpringMVC的URL映射原理
  38. SpringIOC底层原理
  39. Class类了解吗
  40. servlet流程?
  41. 介绍一下bean的生命周期?
  42. hibernate 和 mybatis 你觉得选哪个?原因?