目录
一、基于注解的 SpringMVC
1.注解优点
2.配置流程
3.执行流程
4.@Controller注解
5.@RequestMapping注解
6.@RequestMapping注解参数
7.方法参数类型
8.方法返回值类型
9.搭建注解程序
二、源代码管理
DispatcherServlet
springmvc-config.xml
控制器注解
1.相比于传统控制器,使用简单对象和@Controller注解可以处理过个请求,而传统的只可以请求一个,所以基于注解的控制器可以节省代码
2.基于注解控制器的映射规则不用写在配置文件中,使用@RequestMapping进行映射即可!
3.取消了配置文件中的HandlerMapping直接在Controller中使用RequestMapping进行请求映射
如果需要使用注解,则需要开启组件扫描,组件扫描需要使用到context包,所以需要导入该包,而jar包有需要有context的描述文件,所以需要在配置文件中加入context jar包的模式文件
1.导入SpringMVC的开发包(测试版本4.1.6),如果是maven项目直接引入以下依赖即可
org.springframework
spring-webmvc
4.1.6.RELEASE
2.配置文件中开启组件扫描context:component-scan和注解mvc功能支持mvc:annotation-driven
3.编写DispatcherServlet
4.创建注解控制器
5.编写视图处理器
1.传统执行:DispatcherServlet->HandlerMapping->Controller->ModelAndView->ViewResolver
2.注解执行:DispatcherServlet->Controller->ModelAndView(多实现)->ViewResolver
3.在传统控制器中返回值只能使用ModelAndView,而在注解执行中可以有多重返回值
1.注解所在包:org.springframework.stereotype.Controller
2.注解位置:在普通类的类名上指定
3.作用:作为控制器
4.注解示例:
1.注解所在包:org.springframework.web.bind.annotation.RequestMapping
2.注解位置:在普通类的类名上、处理方法上指定
1.在注解控制器中,发现控制器类只是一个简单的java对象,在传统控制器参数中有HttpServletRequest等,可以方便获取值,而在注解控制器中更加简单,只需要在参数中指定需要的参数即可,例如request、response、session等对象
2.指定参数示例:
3.可以在参数中指定的类型主要有以下:
4.注意点:Model是SpringMVC类型而不是ServletAPI类型,每次处理请求都会创建Model对象到注入到各个组件中
1.在处理器中可以返回值,返回不同值代表不同请求的处理
2.可以返回的类型:
1.配置DispatcherServlet:
2.配置springm-config.xml:
3.创建控制器:
4.在WEB-INF/jsp/创建main.jsp
5.访问控制器:
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springmvc-config.xml
springmvc
/
package com.codecoord.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/** 使用注解扫描 */
@Controller
public class MyController {
@RequestMapping(value="/main")
public String toMain() {
return "main";
}
}