SpringMvc详解

news/2024/11/7 18:31:56/

SpringMvc用来代替展示层Servlet,均属于Web层开发技术 

Servlet是如何工作的

1、导入Servlet依赖坐标

2、创建一个Servlet接口实现类,重写其中的所有方法

3、在Servlet实现类上加上@WebServlet注解,用来配置Servlet访问路径

4、启动Tomcat,浏览器输入Url访问该Servlet

SpringMvc是如何做的呢

1、导入相关依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>SpringMvc</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><dependencies><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><!--这里的范围是为了防止和Tomcat服务器产生冲突--><scope>provided</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.0</version></dependency></dependencies><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties><build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.1</version><configuration><path>/</path></configuration></plugin></plugins></build></project>

2、创建controller包,创建Usercontroller类

//声明控制层的bean的注解
@Controller
public class UserController {//设置当前操作的访问路径@RequestMapping("/save")//设置当前注解的返回值类型,将返回的内容整体作为响应给到外面@ResponseBodypublic String save(){System.out.println("springMvc is running");return "{'moudle':'springmvc'}";}
}

3、创建config包,加载SpringMvcConfig

//创建SpringMvc的配置文件,加载controller对应的baen
@Configuration
@ComponentScan("com.tsj.controller")
public class SpringMvcConfig {}

4、在config包下,加载ServletContainerConfig

//定义一个Servlet容器启动的配置类,在里面加载Spring配置
public class ServletContainerInitConfig extends AbstractDispatcherServletInitializer {//加载SpringMvc容器配置的@Overrideprotected WebApplicationContext createServletApplicationContext() {AnnotationConfigWebApplicationContext acac=new AnnotationConfigWebApplicationContext();acac.register(SpringMvcConfig.class);return acac;}//设置哪些请求归属于SpringMvc处理@Overrideprotected String[] getServletMappings() {return new String[]{"/"};//这里表示所有的请求都归其进行处理}//加载Spring容器配置@Overrideprotected WebApplicationContext createRootApplicationContext() {return null;}
}

5、配置Tomcat运行

 6、打开浏览器尝试输入

入门案例流程分析

 Controller加载控制和业务bean加载控制

SpringMvc相关bean(表现层bean)

Spring控制的bean

业务bean(Service)

功能bean(DataSource等)

SpringMvc相关bean加载控制

SpringMvc加载的bean对应的包均在com.tsj.controller包内

Spring相关bean加载控制

方式一:Spring设置加载范围为com.tsj,并排除掉controller在内的bean

@ComponentScan(value = "com.tsj",excludeFilters = @ComponentScan.Filter(//按照注解进行过滤type = FilterType.ANNOTATION,classes = Controller.class)
)

方式二:Spring设置加载范围更加精准,例如Service包,Dao包等

@ComponentScan({"com.tsj.service","com.tsj.dao"})

​​​​​​​

 简化开发格式

 


http://www.ppmy.cn/news/456171.html

相关文章

Mysql索引、事务以及存储引擎

目录 一、索引 1.概述 2.作用 3.索引的缺点 4.创建索引的原则依据 5.索引分类和创建 5.1普通索引 5.2唯一索引 5.3主键索引 5.4组合索引&#xff08;单列索引与多列索引&#xff09; 5.5全文索引&#xff08;FULLTEXT&#xff09; 6.查看索引 7.删除索引 二、事务…

oppo服务器是网络运营商的吗,三大运营商慌了!OPPO宣布“无网络通信技术”,可绕开基站控制?...

原标题&#xff1a;三大运营商慌了&#xff01;OPPO宣布“无网络通信技术”&#xff0c;可绕开基站控制&#xff1f; 在通信领域&#xff0c;国内一直以移动、联通、电信三大运营商最为权威。让我们轻松实现了通话、上网和发短信等功能。 尽管现在的网络范围已经足够广&#xf…

oppo服务器暂时不可用,oppo手机网络连接不可用是怎么回事

大家好&#xff0c;我是时间财富网智能客服时间君&#xff0c;上述问题将由我为大家进行解答。 oppo手机网络连接不可用的原因如下&#xff1a; 1、手机欠费了。联系运营商确认手机SIM卡开通了上网功能或是否欠费。 2、确保数据网络开关打开&#xff0c;重启手机后尝试是否可以…

oppo android多大内存,OPPO R9s Plus的内存容量是多少?运存是多少?

OPPO R9s Plus的内存容量是多少 OPPO R9s Plus的内存容量是64GB。 根据提供的消息资料&#xff0c;就能了解到OPPO R9s Plus的内存容量是多少。在拍照方面&#xff0c;R9s Plus采用了OPPO 与索尼联合研发的1600万像素IMX398传感器&#xff0c;其创新的双核对焦技术&#xff0c;…

oppo锁频段_给大家科普下现在的OPPO Reno3支持哪几个5G频段

现在越来越多的手机用户对于OPPO Reno3支持哪几个5G频段这方面的问题开始感兴趣&#xff0c;因为大家现在都是想要熟知&#xff0c;应用到手机的各项功能&#xff0c;那么既然现在大家都想要知道OPPO Reno3支持哪几个5G频段&#xff0c;尧哥今天就来给大家针对这样的问题做个科…

联通大数据出炉:OPPO手机强势表现,华为苹果也要让三分

近日最吸引眼球的莫过于中国联通合作伙伴大会&#xff0c;在这次大会上不仅仅亮相了5G技术&#xff0c;并且展示了5G时代高速低延迟的便捷&#xff0c;与此同时在大会上中国联通公布了终端大数据和质量报告&#xff0c;这份数据一经公布在手机行业也引起了轩然大波。 今年在5G建…

失去5G先机或致OPPO走向衰落

10月初&#xff0c;OPPO发布了两款新机&#xff0c;Reno Ace和K5&#xff0c;它们都是4G手机。在主流手机厂商都在抢发5G手机的当口 &#xff0c;OPPO的缺席着实让人感到疑惑。 OPPO为何不推5G手机&#xff1f;是它在5G方面落后了吗&#xff1f; 国产手机4强&#xff0c;唯OP…

node.js mysql h5_【京东个人中心】——Nodejs/Ajax/HTML5/Mysql爬坑之功能与数据分析

DROP DATABASE IF EXISTSjd;CREATE DATABASE jd CHARSETUTF8;USEjd;/**用户登录表**/ CREATE TABLEt_login( uidINT PRIMARY KEYAUTO_INCREMENT, unameVARCHAR(32), upwdVARCHAR(32) );INSERT INTO t_login VALUES(10,zhangsan,123456), (20,lisi,123456), (30,wangwu,123456);…