(1)SpringMVC是什么?
为了简化基于MVC架构的web应用程序的开发而推出的一个框架。SpringMVC是Spring整个大的框架的一部分。
SpringMVC解决了V与C的交互问题。
在传统的基于Servlet的编程中,最大的问题在于每个Servlet只用于处理1种请求,例如某Servlet只处理注册请求,而登录功能则需要另一个Servlet,同理,退出登录、修改资料、修改密码等等功能都需要有对应的Servlet,随着项目的功能的增加,所需的Servlet的数量就会越来越多,也会导致:项目运行时,有大量的Servlet占用了服务器的内存空间!
所以,在SpringMVC中,只使用了1个DispatcherServlet去接收所有的请求,然后进行分发到不同的Controller中的某个方法,从而,减少Servlet对象的数量!
SpringMVC还提高了编码效率。
(2)SpringMVC的五大组件
a.DispatcherServlet 前端控制器
b.HandlerMapping 映射处理器
c.Controller 处理器
d.ModelAndView 存放处理结果
e.ViewResolver 视图解析器
(3)五大组件的关系:
Step1.DispatcherServlet负责接收请求,收到请求之后,依据HandlerMapping的配置调用对应的Controller来处理。
Step2.Controller返回处理结果(处理结果会封装成一个ModelAndView对象)给DispatcherServlet。
Step3.DispatcherServlet依据ViewResolver的解析,调用对应的jsp。
(4)编程步骤
step1.导包。
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>3.2.8.RELEASE</version> </dependency>
step2.添加Spring的配置文件
在Spring配置文件里面,配置HandlerMapping、ViewResolver。
step3.配置DispatcherServlet。(web.xml)
<servlet> <servlet-name>springmvc</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <!-- DispatcherServlet在执行初始化方法时,会启动Spring容器,所以,需要知道Spring配置文件的位置。 contextConfigLocation用于指定Spring配置文件的位置。 --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> <!-- 当Tomcat启动时就初始化当前Servlet --> <load-on-startup>1</load-on-startup> </servlet> <!-- 所有的请求*.do都交由springmvc的DispatcherServlet处理 --> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
step4.添加Controller类。
step5.添加jsp。
(5)执行过程