最近跟着黑老师学ssm框架,目前是springmvc刚开始,初次接触到整合到servlet,给我的感觉就是真的是简单方便,只需要有大体步骤,之后在此基础上进行搭建就可以。耦合度非常低,下面是入门案例的学习记录。
①导入
坐标
②定义
controller
③创建
springmvc的配置文件
④定义一个
servlet容器启动的配置类
,在里面加载spring的配置
整体目录结构
因为只是servlet的整合,因此只有一个controller层和配置包,目录内容十分简介。
步骤一①导入
坐标
导入坐标没什么可说的,复制粘贴就是了。
<dependencies>
<!-- 1.导入spingmvc与servlet坐标-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
</dependencies>
步骤②定义
controller
虽然说定义controller这一块出现了许多之前没有见过的内容,但是也是非常好理解的。这里要给它定义成bean吧,要设置好操作是什么,返回什么东西。有一个较为方便的地方在于,直接返回想要的东西,再使用一个@ResponseBody注解就可以将返回内容进行输出到前端去。
//2.定义controller
//2.1 使用@controller定义bean
@Controller
public class UserController {
//2.2 设置当前操作的访问路径
@RequestMapping("/save")
//2.3 设置当前操作的返回值类型
@ResponseBody
public String sava(){
System.out.println("user save...");
return "{'model':'springmvc'}";
}
}
③创建
springmvc的配置文件
这一步的话也是老套路了,只需要声明配置类,以及包扫描就可以了。
//3.创建springmvc的配置文件,加载controller对应的bean
@Configuration
@ComponentScan("com.fldwws")
public class SpringMvcConfig {
}
④定义一个
servlet容器启动的配置类
,在里面加载spring的配置
这里的话对于以后来说就是粘贴复制了,只需要更改一下spring的配置类名称
就可以了。
//4. 定义一个servlet容器启动的配置类,在里面加载spring的配置
//可以在tomcat启动的时候 加载springmvc的配置
public class ServletContainerInitConfig extends AbstractDispatcherServletInitializer {
//加载springmvc配置类,产生springmvc容器(本质还是spring容器)
protected WebApplicationContext createServletApplicationContext() {
//初始化WebApplicationContext对象
AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
//加载指定配置类
ctx.register(SpringMvcConfig.class);
return ctx;
}
//设置由springmvc控制器处理的请求映射路径
protected String[] getServletMappings() {
return new String[]{"/"};
}
//加载spring配置类
protected WebApplicationContext createRootApplicationContext() {
return null;
}
}
实现效果
启动服务器,访问/save,之前设置访问路径,可以看到return的东西直接输出到浏览器