Spring MVC的@RequestMapping注解是做什么用的?
摘要:什么是springMVC springMVC是一个实现了mvc架构模式的web框架。底层基于servlet实现。 springMVC帮我们做了什么 springMVC帮我们做了什么?与传统的servlet开发有什么区别? 入口控制:spri
什么是springMVC
springMVC是一个实现了mvc架构模式的web框架。底层基于servlet实现。
springMVC帮我们做了什么
springMVC帮我们做了什么?与传统的servlet开发有什么区别?
入口控制:springMVC通过DispatcherServlet作为入口控制器。负责接收请求和分发请求。而在servlet中。需要自己编写servlet程序,并在web.xml中配置,才能接收和处理请求。
在springMVC中,表单提交时可以自动将表单数据绑定到对应的JavaBean对象中。只需要在控制器方法的参数列表中声明该JavaBean对象即可。无需手动获取和赋值表单数据。而在servlet中需要手动完成。
IoC容器:springMVC通过IOC容器管理对象。只需要在配置文件中进行相应的配置即可获取实例对象。而在servlet中需要手动创建对象实例。
统一处理请求:springMVC提供了拦截器、异常处理器等统一处理请求的机制。并且可以灵活的配置这些处理器。而在servlet中。需要自行编写过滤器、异常处理器等,增加了代码复杂度和开发难度。
视图解析:springMVC提供多种视图模板,如jsp、Freemarker等,并且支持国际化、主题等特性。而在servlet中需要手动处理视图,增加了代码复杂度。
第一个springmvc程序
引入依赖
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>6.1.14</version>
</dependency>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>6.1.0</version>
<!-- 指定依赖范围,provided表示依赖由第三方容器提供-->
<!-- 打war包的时候,这个依赖不会打进包内。-->
<scope>provided</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.5.25</version>
</dependency>
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring6</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
</dependencies>
在web.xml文件中配置:前端控制器(DispatcherServlet类),所有请求都应应该经过这个DispatcherServlet的处理。
