框架面试题

来源:互联网 发布:哪种顶级域名好排名 编辑:程序博客网 时间:2024/06/17 02:45
1.简单的谈一下SpringMVC的工作流程?
1、用户发送请求至前端控制器DispatcherServlet?
2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。?
3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。?
4、DispatcherServlet调用HandlerAdapter处理器适配器?
5、HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。?
6、Controller执行完成返回ModelAndView?
7、HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet?
8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器?
9、ViewReslover解析后返回具体View?
10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。?
11、DispatcherServlet响应用户


2,什么是Spring MVC框架的控制器?
控制器提供一个访问应用程序的行为,此行为通常通过服务接口实现。
控制器解析用户输入并将其转换为一个由视图呈现给用户的模型。
Spring用一个非常抽象的方式实现了一个控制层,允许用户创建多种用途的控制器。


3,SpringMvc的控制器是不是单例模式,如果是,有什么问题,怎么解决?
  是单例模式,所以在多线程访问的时候有线程安全问题,不要用同步,会影响性能的,解决方案是在控制器里面不能写字段


4,13. 怎么样把某个请求映射到特定的方法上面
  直接在方法上面加上注解@RequestMapping,并且在这个注解里面写上要拦截的路径


5. 如果在拦截请求中,我想拦截get方式提交的方法,怎么配置
  可以在@RequestMapping注解里面加上method=RequestMethod.GET


6. 如果在拦截请求中,我想拦截提交参数中包含"type=test"字符串,怎么配置
  可以在@RequestMapping注解里面加上params="type=test"


7. 我想在拦截的方法里面得到从前台传入的参数,怎么得到
  直接在形参里面声明这个参数就可以,但必须名字和传过来的参数一样


8,SpringMVC怎么样设定重定向和转发的
  转发;; 在返回值前面加"forward:"就可以让结果转发,譬如"forward:user.do?name=method4" 
重定向;;在返回值前面加"redirect:"就可以让返回值重定向,譬如"redirect:http://www.baidu.com"


9,IBatis和MyBatis在核心处理类分别叫什么
        IBatis里面的核心处理类交SqlMapClient,
        MyBatis里面的核心处理类叫做SqlSession 


10什么情况下用注解绑定,什么情况下用xml绑定
        当Sql语句比较简单时候,用注解绑定,
        当SQL语句比较复杂时候,用xml绑定,一般用xml绑定的比较多


11.Hibernate怎样提供了属性的延迟加载功能?
        在Hibernate配置文件中,可以设置class元素中的lazy属性,当值为true时,延迟加载。