Spring MVC框架理解
基本要素
1. 指定SpringMVC的入口程序(在web.xml中)
<!-- Processes application requests --> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/**</url-pattern> </servlet-mapping>
2. 编写SpringMVC的核心配置文件(在[servlet-name]-servlet.xml中)
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd" default-autowire="byName"> <!-- Enables the Spring MVC @Controller programming model --> <mvc:annotation-driven /> <context:component-scan base-package="com.demo2do" /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/" /> <property name="suffix" value=".jsp" /> </bean> </beans>
3. 编写控制(Controller)层的代码
@Controller @RequestMapping public class UserController { @RequestMapping("/login") public ModelAndView login(String name, String password) { // write your logic here return new ModelAndView("success"); } }
程序化处理
SpringMVC将Http处理流程抽象为一个又一个处理单元
SpringMVC定义了一系列组件(接口)与所有的处理单元对应起来
SpringMVC由DispatcherServlet贯穿始终,并将所有的组件串联起来
DispatcherServlet —— 串联起整个逻辑主线,是整个框架的心脏
组件 —— 逻辑处理单元的程序化表示,起到承上启下的作用,是SpringMVC行为模式的实际承载者
初始化主线
DispatcherServlet负责对容器(WebApplicationContext)进行初始化。
容器(WebApplicationContext)将读取SpringMVC的核心配置文件进行组件的实例化。
初始化组件
DispatcherServlet从容器(WebApplicationContext)中读取组件的实现类,并缓存于DispatcherServlet内部
本博客文章皆出于学习目的,个人总结或摘抄整理自网络。引用参考部分在文章中都有原文链接,如疏忽未给出请联系本人。另外,作为一名菜鸟程序媛,如文章内容有错误,欢迎点击博客右上方的扣扣链接指导交流。