你对springmvc的介绍?
1. Spring 框架提供的构建web应用的模块 2. 它是基于servlet功能实现的,通过实现Servlet接口的DispatcherServlet来封装其核心功能实现,同时带有配置的处理程序映射、视图解析、主题解析以及上载文件支持。 3. 默认的处理程序是非常简单的controller接口,只有一个方法handleRequest()。
简单的谈一下springMVC的工作流程?
工作流程: 1. 用户发送请求至前端控制器DispatcherServlet 2. DispatcherServlet收到请求调用HandlerMapping。 3. 通过HandlerMapping得到HandlerAdapter. 4. 调用handle()方法返回ModelAndVIew 5. DispatcherServlet将ModelAndView送给ViewResolver视图解析器处理,解析返回具体的view 6. 将Model渲染到view视图 7. 最后向用户response响应
SpringMVC和struts2的主要区别:
1. springMVc的入口是一个servlet即前端控制器,而struts的入口是一个filter 2. springmvc是基于方法开发,传递参数是通过方法形参,可以设计为单例或多例,而struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。 3. springmvc通过参数解析器将request内容进行解析成方法形参,将响应数据和页面封装成ModelAndView对象。而struts采用值栈存储请求和响应的数据,通过OGNL表达式存取数据。
常用注解:
- @Controller
- @Service 声明service组件
- @Repository 声明Dao组件
- @Component 泛指之间,不好归类时使用
- @RequestMapping 请求映射
- @Resource 用于注入,默认按名称装配
- @Autowired 用于注入,默认按类型装配
- @Transactional 事务管理
- @ResponseBody
10.@Scope 设置bean的作用域
“`
- springmvc的controller是单例还是多例的?
答:是单例的,只要controller里面不定义属性,线程就是安全的。主要是单例性能好。
springmvc是怎样设置重定向和转发的?
1. 重定向:在返回值前面加“redirect: ” 2. 转发:在返回值前面加“forward: ”
@RequestMapping有哪些参数?
1. value: 指定请求地址 2. method: 指定请求的method类型:GET、POST、PUT等 3. consumes: 指定请求的Content-Type,如application/json等 4. produces: 指定响应的内容类型 5. params: 指定请求必须包含的参数 6. headers: 指定请求必须包含某些header值
@SessionAttributes的使用?
1. 注解只能在类上使用 2. 将模型中的数据存储到session中
更多推荐
SpringMvc 常见面试题整理(一)
发布评论