本文摘自java web轻量级开发面试教程:
https://baike.baidu.com/item/Java%20Web%E8%BD%BB%E9%87%8F%E7%BA%A7%E5%BC%80%E5%8F%91%E9%9D%A2%E8%AF%95%E6%95%99%E7%A8%8B/22038502?fr=aladdin
下面列出Spring Web方面的常见问题,除此之外,大家也可以自己不断收集,不断提升。
问题1,你们的项目是如何搭建Spring Web框架的,具体而言,如何定义控制器类,视图解析器有几个,一般是怎么定义的?
请结合项目的具体需求说下整个Web的处理流程,别泛泛而言。比如是银行项目,就拿一个具体的存钱请求,怎么发URL,URL会经什么样的拦截器处理,然后怎么被控制器类接收处理,最后怎么经过视图解析器,从而把结果返回到前端页面。
问题2,在项目里,你们是否用到拦截器?拦截器起了什么作用?
问题3,你们项目里有多少个控制器处理类?你们怎么把不同的请求定位到具体的控制器处理类上的?
上述两个问题都是问技术,不难回答。
问题4,Spring的拦截器和Struts的过滤器(Filter)有什么差别?
① 拦截器是基于Java反射机制的,而过滤器是基于函数回调 。
② 过滤器依赖于Servlet容器,而拦截器不依赖于Servlet容器 。
③拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用 。
④拦截器可以访问action上下文、值栈里的对象,而过滤器不能 。
⑤在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次 。
问题5,在你们的项目里,你们用到了Spring Web技术?解决了哪些比较麻烦的问题?
这个是开放性的问题,一般属于加分项,可以结合项目的实际情况来说。
问题6,你感觉Spring Web框架有哪些可以改进的地方?或者你们项目在使用Spring Web框架时,有哪些问题是框架本身无法解决的?
这个考查对Spring框架的熟练程度,对初级程序员来说,他们未必能有体会,如果有人能回答上,而且大致不差,这也是个加分项。
问题7,你们使用Spring Web框架做项目时,除了做开发以外,有没有参与框架搭建?对搭建Spring Web框架这方面,你有什么体会?
这个问题也属于开放性问题,对初级程序员来说难度比较大,我们一般是问高级程序员的,不过如果大家要走架构师这条路的话,这些针对框架的问题是大家提升自己能力的方向。