SpringMVC概述
SpringMVC是一种基于Java实现MVC模型的轻量级Web框架
SpringMVC入门
使用SpringMVC技术开发web程序流程:
创建web工程(Maven结构)
设置tomcat服务器,加载web工程(tomcat插件)
导入坐标(SpringMVC+Servlet)
定义处理请求的功能类(UserController)
设置请求映射(配置映射关系)
将SpringMVC设定加载到Tomcat容器中
1.导入SpringMVC坐标与Servlet坐标
2.初始化SpringMVC环境,Springmvc配置类,用到的注解@configuration@componentscan
3.创建SpringMVC控制器类(等同于Servlet功能),用到的注解@Controller@RequestMapping@ResponsBody
4.设定SpringMVC加载对应的bean,在springmvc配置类中用@componentscan加载controller
5.初始化Servlet容器,加载SpringMVC环境,并设置SpringMVC请求拦截的路径
public class ServletContainersInitConfig extends AbstractDispatcherServletInitializer {
protected WebApplicationContext createServletApplicationContext() {
AnnotationConfigWebApplicationContext acx = new AnnotationConfigWebApplicationContext();
acx.register(SpringMvcConfig.class);
return acx;
}
protected String[] getServletMappings() {
return new String[]{"/"};
}
protected WebApplicationContext createRootApplicationContext() {
return null;
}
}
@requestMapping、@responseBody注解
名称:@RequestMapping
类型:方法注解
位置:SpringMVC控制器方法定义上方
作用:设置当前控制器方法请求访问路径
范例:
名称:@ResponseBody
类型:方法注解
位置:SpringMVC控制器方法定义上方
作用:设置当前控制器方法响应内容为当前返回值,返回JSON格式数据,无需解析
范例:
@Controller
public class UserController {
@RequestMapping("/save")
@ResponseBody
public String save(){
System.out.println("...............");
return "{'info':springmvc}";
}
}
AbstractDispatcherServletInitializer类
AbstractDispatcherServletInitializer类是SpringMVC提供的快速初始化Web3.0容器的抽象类
AbstractDispatcherServletInitializer提供三个接口方法供用户实现
createServletApplicationContext()方法,创建Servlet容器时,加载SpringMVC对应的bean并放入WebApplicationContext对象范围中,而WebApplicationContext的作用范围为ServletContext范围,即整个web容器范围
getServletMappings()方法,设定SpringMVC对应的请求映射路径,设置为/表示拦截所有请求,任意请求都将转入到SpringMVC进行处理