本篇内容是学习过程中做的笔记,略显杂乱,欢迎大家一起讨论学习~
学习目录:
SpringMVC简介
请求与响应
REST风格
SSM整合
拦截器
SpringMVC简介
- SpringMVC技术与Servlet技术功能等同,均属于web层开发技术,但比Servlet更简洁。
- SpringMVC是一种基于JAVA实现MVC模型的轻量级web框架。
- 如下图所示为了提高数据层的开发效
- 率学习了JDBC后来又出现了更高效的操作数据层的框架也就是MyBatis,于是MyBatis替换了JDBC,同理为了提高表现层的开发效率在表现层引入Servlet又为了提高效率引入了SpringMVC。
简单来说SpringMVC是一种表现层框架技术,用于表现层功能开发。
使用SpringMVC技术
- 1.先导入SpringMVC坐标与Servlet坐标
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
- 2.创建SpringMVC控制类(等同于Servlet功能)
@Controller
public class UserController {
@RequestMapping("/save")
@ResponseBody
public String save(String name){
System.out.println("springmvc save name==>"+name);
return "{'module':'springmvc save'}";//返回你要的类型
}
}
- 3.初始化SpringMVC环境(同Spring环境),设定SpringMVC加载对应的Bean
@Configuration
@ComponentScan("com.example.demospring_8")
public class SpringMVCConfig {
}
- 4.初始化Servlet容器,加载SpringMVC环境,并设置SpringMVC技术处理请求。
public class ServletContainersInitConfig extends AbstractDispatcherServletInitializer {
@Override
protected WebApplicationContext createServletApplicationContext() {
AnnotationConfigWebApplicationContext ctx=new AnnotationConfigWebApplicationContext();
ctx.register(SpringMVCConfig.class);
return ctx;
}
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
@Override
protected WebApplicationContext createRootApplicationContext() {
return null;
}
}
- 在pop终导入Tomcat7包,然后在Edit Configuration中选择Maven关联一下Tomcat(详见图1)然后运行。运行成功后在浏览器中输入网址localhost/save(见图2)
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<port>80</port>
<path>/</path>
</configuration>
</plugin>
![](https://i-blog.csdnimg.cn/direct/728750ec4bb94705843be0b35a1abe55.png)
![](https://i-blog.csdnimg.cn/direct/8212f3544de14687a7167d31b2bad4a7.png)
Controller加载控制
简化后的代码如下:(也就是上面第四步的代码简化后的)
public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[]{SpringConfig.class};
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{SpringConfig.class};
}
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
}
PostMan简介
- PostMan是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件
- 作用:常用与测试接口
- 特征:简单、实用、美观、大方