使用tomcat启动的springmvc流程。(自己简要总结)

本文简要总结了SpringMVC在Tomcat中的启动流程。当Tomcat启动时,它读取web.xml配置文件,加载DispatcherServlet作为前端与Controller之间的桥梁。DispatcherServlet处理所有请求并分发给合适的Servlet。配置文件的读取采用DOM方法,Tomcat识别自带标签,第三方标签由Spring jar包处理。SpringMVC启动类读取配置,扫描指定包下带@Controller注解的类,将@RequestMapping注解映射为URL。请求到达时,Tomcat将请求传递给DispatcherServlet,根据URL从HashMap中获取并执行相应的方法。控制器方法的参数可以通过反射与请求参数匹配,实现参数对象的填充。
摘要由CSDN通过智能技术生成

启动tomcat
当tomcat启动之后,tomcat会自动读取web.xml配置文件(约定)。首先读取DispatcherServlet,还有其他配置文件的路径。

DispatcherServlet的作用:使用springMVC时,java和前端对接的是Controller,而tomcat并不识别Controller,无法和前端沟通,所以需要一个中介。tomcat是支持访问servlet的,所以中介就是DispatcherServlet。由于dispatcherServlet和controller都是第三方开发人员编写的,所以dispatcherServlet里的doGet和doPost里写上controller的相关java代码。在web.xml里配置,目的是把所以请求打到dispatcherServlet上。交给servlet负责分发。

读取其他配置文件目的:是把其他配置文件合到web.xml里来。读取配置文件的方式是java的DOM方法。在配置文件中有些是javaEE自带的,有些是第三方标签。自带的标签tomcat可以直接识别,而第三方的标签是用spring的jar包去识别。配置文件里有spring的j启动类的包路径。当tomcat读到包路径的时候,包的路径是按约定在web.xml中注册的。tomcat在启动过程中,会用DOM操作读取这些标签,看有哪些路径。按约定,凡是在这个标签里的路径都会提取出来进行反射。反射拿到类信息之后再通过newInstance拿到类实例。再通过代理的方式对他们进行执行。执行主方法引起一连串的执行。

在springMVC的启动类中会读取web.xml文件,用DOM操作读取自定义标签。其中自定义标签里有controller的扫描范围。当读取扫描范围之后,springMVC去包下面扫

Spring MVC 和 DB2(数据库2)连接通常涉及到Spring框架的数据访问模块Spring Data JPA 或者 JDBC(Java Database Connectivity)。以下是简要步骤: 1. **添加依赖**: - 如果使用Spring Data JPA,需要在pom.xml文件中添加DB2驱动依赖,例如:`<dependency> <groupId>com.ibm.db2</groupId> <artifactId>jcc</artifactId> </dependency>` - 如果使用JDBC,则直接引入DB2的JDBC驱动。 2. **配置数据源**: - 在Spring Boot项目中,可以使用`@Configuration`注解创建一个DataSourceConfig类,并配置`DataSource` bean,如使用`org.springframework.jdbc.datasource.DriverManagerDataSource`或`org.apache.tomcat.jdbc.pool.DataSource`。 ```java @Configuration public class DataSourceConfig { @Value("${spring.datasource.url}") private String url; @Value("${spring.datasource.username}") private String username; @Value("${spring.datasource.password}") private String password; @Bean public DataSource dataSource() { DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setUrl(url); dataSource.setUsername(username); dataSource.setPassword(password); return dataSource; } } ``` 3. **配置事务管理**(可选): 使用`PlatformTransactionManager`来管理事务,如`org.springframework.jdbc.datasource.DataSourceTransactionManager`。 4. **实体类映射**: 创建Java实体类,表示数据库表结构,然后使用`@Entity`、`@Table`等注解将其标记为JPA实体。 5. **Repository接口**: 定义一个`JpaRepository`或自定义接口,用于操作数据库,Spring Data会自动代理方法。 ```java public interface UserRepository extends JpaRepository<User, Long> {} ``` 6. **服务层**: 在Service层注入Repository并进行CRUD操作。 7. **控制器**: 在Controller中调用Service处理业务逻辑,并返回响应给前端。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值