SpringMVC-three(非注解映射的和适配器的配置)-four(注解映射器和适配器的配置)-five(DispatcherServlet.properties说明)-six(入门程序总结)

03【熟悉】非注解映射的和适配器的配置

1.非注解的映射器

1:org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping把bean的name做为url进行查找,也就是handler必须配置name属性【一个name的值对应一个url】2:org.springframework.web.servlet.handler.SimpleUrlHandlerMapping 里面可以配置属性
一个控制器可以配置多个url

配置方法
SpringMVC-three(非注解映射的和适配器的配置)-four(注解映射器和适配器的配置)-five(DispatcherServlet.properties说明)-six(入门程序总结)
说明
BeanNameUrlHandlerMapping 把 bean的name值做为url

SimpleUrlHandlerMapping 可以配置多个url
两个映射器可以共存

2.非注解的适配器

1:org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter写的controller要实现Controller的接口
2:org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter 写controler要实现HttpRequestHandler接口

创建User02Controller
SpringMVC-three(非注解映射的和适配器的配置)-four(注解映射器和适配器的配置)-five(DispatcherServlet.properties说明)-six(入门程序总结)
配置方法

SpringMVC-three(非注解映射的和适配器的配置)-four(注解映射器和适配器的配置)-five(DispatcherServlet.properties说明)-six(入门程序总结)

04【掌握】注解映射器和适配器的配置

1.修改User01Controller

/**
 * 自定义控制器
 * @author LJH
 *
 */
@Controller
@RequestMapping("user")  //作用在类上代表访问地址为user/queryAllUser01.action
public class User01Controller{
	
	@RequestMapping("queryAllUser01")
	public ModelAndView queryAllUser01() {
		List<User> users=new  ArrayList<>();
		for (int i = 1; i <=10; i++) {
			users.add(new User(i, "小明"+i, "武汉"+i, new Date()));
		}
		ModelAndView modelAndView=new ModelAndView();
		//设置要跳转的路径
		modelAndView.setViewName("../list.jsp"); 
		//设置数据
		modelAndView.addObject("users", users);
		return modelAndView;
	}
	@RequestMapping("queryAllUser011")
	public String queryAllUser011(Model model) {
		List<User> users=new  ArrayList<>();
		for (int i = 1; i <=10; i++) {
			users.add(new User(i, "小明"+i, "武汉"+i, new Date()));
		}
		model.addAttribute("users", users);
		return "../list.jsp";
	}
}

2.注解的映射器

在spring3.1之前使用org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping注解映射器。
在spring3.1之后使用org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping注解映射器。

配置方法
SpringMVC-three(非注解映射的和适配器的配置)-four(注解映射器和适配器的配置)-five(DispatcherServlet.properties说明)-six(入门程序总结)

3.注解的适配器

在spring3.1之前使用org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter注解适配器。
在spring3.1之后使用org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter注解适配器。

配置方法

4.控制器注解说明

SpringMVC-three(非注解映射的和适配器的配置)-four(注解映射器和适配器的配置)-five(DispatcherServlet.properties说明)-six(入门程序总结)
@Controller 创建对象放到ioc容器 标记这个是一个控制器
@RequestMapping
|–value[] 配置多个请求地址
|–method: 配置该方法的请求方式

5.【掌握】DispatcherServlet.properties说明

sping-webmvc.jar包里面
SpringMVC-three(非注解映射的和适配器的配置)-four(注解映射器和适配器的配置)-five(DispatcherServlet.properties说明)-six(入门程序总结)
默认加载了一些配置

06【掌握】入门程序总结

通过入门程序理解springmvc前端控制器、处理器映射器、处理器适配器、视图解析器用法。

前端控制器配置:

第一种:*.action,访问以.action结尾 由DispatcherServlet进行解析

第二种:/,所以访问的地址都由DispatcherServlet进行解析,对于静态文件的解析需要配置不让DispatcherServlet进行解析

使用此种方式可以实现 RESTful风格的url

处理器映射器:

非注解处理器映射器(了解)

注解的处理器映射器(掌握)

     对标记@Controller类中标识有@RequestMapping的方法进行映射。在@RequestMapping里边定义映射的url。使用注解的映射器不用在xml中配置url和Handler的映射关系。

处理器适配器:

非注解处理器适配器(了解)

注解的处理器适配器(掌握)

     注解处理器适配器和注解的处理器映射器是配对使用。理解为不能使用非注解映射器进行映射。

mvc:annotation-driven</mvc:annotation-driven>可以代替下边的配置:

实际开发使用:mvc:annotation-driven