Spring MVC框架理解

时间:2023-03-10 01:03:52
Spring MVC框架理解

原文链接:ITeye SpringMVC深度探险专栏

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内部
 Spring MVC框架理解