体系结构和处理请求控制器知识点
1:@RequestMapping注解是用来处理请求地址映射的注解,可用在类和方法上。
2:MVC模式中:
视图(View)是用户看到并与之交互的界面,其对应的组件是JSP或HTML文件。
控制器(Controller)接收用户的输入并调用模型和视图去完成用户的请求,其对应的是Servlet。
模型(Model)可分为业务模型和数据模型,它代表应用程序的业务逻辑和状态。
3:在SpringMVC中,SpringMVC默认采用的HandlerMapping实现类是BeanNameUrlHandlerMapping。
4:Spring:
Spring是一个轻量级Java的开源框架。
Spring包含一个“依赖注入”模式的实现。
使用Spring可以实现声明事务。
Spring提供了AOP的日志系统。
5:Spring MVC访问静态资源的三种方式:
方案一:激活Tomcat的defaultServlet来处理静态文件(要在DispatcherServlet的前面配置)。
方案二:在spring3.0.4以后版本提供了<mvc:resources mapping="/images/**" location="/images/" />。
方案三:使用<mvc:default-servlet-handler/>。
6:关于@ModelAttribute:
作用在方法的参数前面,如果参数是对象类型,对象类型将被写入到model中。
作用在方法的参数前面,如果是基本类型,程序运行报错。
作用在方法前面,该方法将在所有方法被执行前被先调用。
7:Spring MVC模式优点:低耦合、高重用性、高可适用性、部署快、可维护性高、有利软件工程化管理。
8:在Spring3的类型转换系统中,Spring内建的类型转换器分三组,第一组标量转换器;第二组集合、数组相关转换器;第三组默认(fallback)转换器。
9:Spring MVC注解驱动控制器:
@RequestParam是经常用的注解。
常见的返回值类型可以是:ModelAndView,Map,Model,String,void。
基于注解的控制器类可以是任意类,但不需要实现这些特殊接口,无需扩展特殊的基类。
可以在控制器中定义一个或多个处理程序方法来实现处理单个或多个动作。
10:@PathVariable注解方法参数并将其绑定到Url模版变量的值上。
@ReqeustMapping注解将URL映射到整个类或特定的处理方法上。
@Controller用于定义控制器。
11:MVC优点:
MVC三层各司其职,互不干涉。
有利于实际开发中的分工。
有利于组件的重用,视图可以有多种选择。
12:Spring IOC容器管理Action的方式:
使用org.springframework.web.struts。
使用org.springframework.web.struts.DelegatingActionProxy。
13:Spring MVC视图解析器:
FreeMarkerViewResolver、VolocityViewResolver:这两个视图解析器都是UrlBasedViewResolver的子类。
InternalResourceViewResolver:它是URLBasedViewResolver的子类,所以URLBasedViewResolver支持的特性它都支持。
BeanNameViewResolver:这个视图解析器跟XmlViewResolver基本相同,它是通过把返回的逻辑视图名称去匹配定义好的视图bean对象。
XmlViewResolver:它继承自AbstractCachingViewResolver抽象类,所以它也是支持视图缓存的。
14:command controllers命令控制器的功能:可以动态地将来自HttpServletRequest的参数绑定到指定的数据对象上;在处理请求参数过程中自动验证;创建command对象。
15:@ModelAttribute:
绑定请求参数到命令对象。
暴露表单引用对象为模型数据。
暴露@RequestMapping方法返回值为模型数据。
@ModelAttribute不能将数据转发到页面。