SpringMVC快速入门3默认组件加载

一、框架默认加载组件

在这里插入图片描述

在这里插入图片描述

1、处理器映射器与处理器适配器

从spring3.1版本开始,废除了DefaultAnnotationHandlerMapping的使用,推荐使用RequestMappingHandlerMapping完成注解式处理器映射。

(2)修改springmvc.xml

a、处理器映射器

在这里插入图片描述

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" />

从新访问项目
http://localhost:8080/itemList.action

在这里插入图片描述

发现报错,报错原因没有适配器

b、处理器适配器

在这里插入图片描述

<!-- 配置处理器适配器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"  /> 

再次运行并访问项目

在这里插入图片描述

在这里插入图片描述

c、配置注解驱动

相当于同时使用了最新的处理器映射器跟处理器适配器,配置后则不需要上面的两个了,注释掉上面两个

在这里插入图片描述

<!-- 配置注解驱动,相当于同时使用了最新的处理器映射器跟处理器适配器,对JSON的数据响应提供支持 -->
<mvc:annotation-driven />

重新运行项目
http://localhost:8080/itemList.action

在这里插入图片描述

d、配置视图解析器
(1)修改springmvc.xml

在这里插入图片描述

<!-- 视图解器的配置 -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/jsp/" ></property>
		<property name="suffix" value=".jsp" ></property>
	</bean>
(2)修改ItemController类

在这里插入图片描述

package com.itzheng.springmvc.controller;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.itzheng.springmvc.pojo.Item;
@Controller
public class ItemController {
	@RequestMapping("itemList")
	public ModelAndView itemList() {
		ModelAndView mav = new ModelAndView();
		//模拟查询商品列表
		List<Item> list = Arrays.asList(new Item(1, "冰箱", 1999, new Date(), "冰箱很冷"),
				new Item(2, "冰箱2", 1999, new Date(), "冰箱很冷2"),
				new Item(3, "冰箱3", 1999, new Date(), "冰箱很冷3"),
				new Item(4, "冰箱4", 1999, new Date(), "冰箱很冷4"));
		mav.addObject("itemList",list);
		//mav.setViewName("/WEB-INF/jsp/itemList.jsp");
		mav.setViewName("itemList");
		return mav;
	}
}

再次运行项目
http://localhost:8080/itemList.action

在这里插入图片描述

二、SpringMVC架构

在这里插入图片描述

相关文章

开发过程中是不可避免地会出现各种异常情况的,例如网络连接...
说明:使用注解方式实现AOP切面。 什么是AOP? 面向切面编程...
Spring MVC中的拦截器是一种可以在请求处理过程中对请求进行...
在 JavaWeb 中,共享域指的是在 Servlet 中存储数据,以便在...
文件上传 说明: 使用maven构建web工程。 使用Thymeleaf技术...
创建初始化类,替换web.xml 在Servlet3.0环境中,Web容器(To...