设为首页 加入收藏

TOP

一个简单SpringMVC的实现
2023-07-25 21:33:37 】 浏览:42
Tags:简单 SpringMVC

之前学习时候,是使用老师的自定义的一个SpringMVC模式,今天突然好奇,官方的SpringMVC架构咋弄,于是带着好奇的心去实现完成它

其实这个模式也比较简单

1:首先,我们创建一个maven,web的网页项目,JDK选择1.8版本

 

 

 2:在创建完之后,鼠标右键点击main目录,同时选择java和resource包按回车键

 

 

 3:找到pom.xml文件,把Servlet、Spring的依赖包丢进去

<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>

4:Java目录下添加一个Controller包,里写一个控制类XXXController.java;

@Controller
public class UserController {
@RequestMapping("/save")
// @ResponseBody
public String save(){
System.out.println("保存中......");
return "Yes,you an successful";
}
}
//使用@ResponseBody注解,注解返回json格式数据()

5:把web.xml文件删除,写一个Servlet容器配置类ServletContainersInitConfig来代替Web.xml去完成请求——处理请求方法的这么一个映射关系;
public class ServletContainersInitConfig extends AbstractDispatcherServletInitializer {
//加载springmvc配置类
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;
}
}
据目前了解,容器是一个Map集合,它的key是所标志注解的value值,Map的value通常为所映射个类以及类中处理这个请求的方法的处理类,
比如请求是http://localhost:8081/test/save=====>那么截取请求save然后去匹配容器中是否有这个key==》map(save,XXXHandleMapping)

此外,还需要再增加一个配置类
@Configuration
@ComponentScan("Controller")//扫描控制层目录,装进容器里
public class SpringMvcConfig {
}
作用是告诉电脑去扫描Controller目录下的包,把此目录下的文件扫描装进容器里面
6:最后一步便是便是配置好tomcat,启动

 

到这就代表前端请求与后端建立好链接请求

 

 

可能有许多不足之处,后面会不断完善,后面再记录如何使用mybatis来实现链接数据库脚本

 

 
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇每日算法之判断是不是平衡二叉树 下一篇java -- Stringbuild、Date和Cale..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目