估计看了上篇博文,大家都已经开始查看DispatcherServlet的源码,今天我们先不看源码,直接根据DispatcherServlet实现的功能;
现在开始分析DispatcherServlet需要实现什么功能?
SpringMVC里最好用的地方,应该是注解吧,因此我们需要完成如下任务:
任务一:把项目中所有的bean扫描,进行维护;
任务二:根据全类名创建bean实例,并进行维护;
任务三:根据bean进行依赖注入;
任务四:方法和地址建立映射关系;
任务五:实现doGet() doPost()方法;
咋一看,估计大家会觉得,这都是些啥啊,怎么前言不搭后语呢?前面说的DispatcherServlet是个Servlet,直接完成上面的第五的任务就可以了,为啥还有完成任务一,二,三,四呢?
我们从任务五反推看看哈!
任务五:需要根据请求路径,找到对应的处理类,以及此类中对应的方法,甚至方法中调用的对象及方法,如果没有其他类提供这些功能,只能通过任务一,二,三,四来完成。
本文先搭建项目的工程吧!
步骤1:创建maven项目;(为了方便大家,这里贴图)
备注:1.这里创建的项目一开始会报错,主要原因是我们选择了war 只需要在项目中添加web.xml就可以了 具体操作(右击项目->Java EE Tools->generate deployment descriptor stub)
步骤2:在pom.xml中引入servlet,代码如下:
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0-alpha-1</version>
<scope>provided</scope>
</dependency>
</dependencies>