1 SpringMVC概述
SpringMVC是一种基于java实现MVC模型的轻量级Web框架。
优点:使用简单,开发便捷,灵活性强
2 Spring入门案例
2.1 导入坐标,导入Servlet配置
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<port>8080</port>
<path>/</path>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.2</version>
</plugin>
</plugins>
</build>
2.2 创建SpringMVC控制类
2.3 初始化SpringMVC环境
2.4 初始化Servlet程序,加载SpringMVC环境
简化开发:
public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[]{SpringConfig.class};
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{SpringmvcConfig.class};
}
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
}
2.5 注解说明
2.6 SpringMVC开发总结
2.7 AbstractDispatcherServletInitializer类说明
3 Bean加载控制
方式二:spring扫描排除controller包内的Bean,注意这里SpringConfig和SpringMVCConfig不能放在同一个目录下
@Configuration
@ComponentScan(value = "com.itheima",
excludeFilters = @ComponentScan.Filter(
type = FilterType.ANNOTATION,
classes = Control.class
)
)
public class SpringConfig {
}
@Configuration
@ComponentScan("com.itheima.controller")
public class SpringmvcConfig {
}
Bean加载控制:
4 设置请求响应路径
5 get请求和post请求发送普通参数
解决POST乱码问题:
public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[]{SpringConfig.class};
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{SpringmvcConfig.class};
}
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
//解决乱码问题
@Override
protected Filter[] getServletFilters() {
CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
characterEncodingFilter.setEncoding("UTF-8");
return new Filter[]{characterEncodingFilter};
}
}
6 五种类型参数传递
若路径参数与函数参数名称不同:
public String save(@RequestParam("name") String username, String age)
6.1 普通参数传参
6.2 POJO实体类参数
6.3 嵌套POJO参数
6.4 数组参数
6.5 集合保存普通参数
7 json数据传递参数
7.1 添加Json数据转换坐标
7.2 设置发送类型为JSON
7.3 开启自动转换JSON数据的支持
7.4 设置接收JSON数据
7.5 注解说明
7.6 常用的两种JSON对象参数
7.7 RequestParam和RequestBody的区别
8 日期型参数传递
9 响应
9.1 响应页面
9.2 响应文本数据
9.3 响应json数据
9.4 响应json集合
9.5 @ResponseBody 激活类型的自动转换
10 REST风格
10.1 REST简介
即表现形式转化。
优点:
1. 隐藏资源的访问行为,无法通过地址得知资源是何种操作
2. 书写简化