一,配置分发器
DispatcherServlet 是Spring MVC 的入口
所有进入Spring Web 的 Request 都经过 DispatcherServlet
需要在 web.xml 中注册 DispatcherServlet
<servlet><br><servlet-name>dispatherContext</servlet-name><br><servlet-class><br> org.<span class="hilite1"><font style="BACKGROUND-COLOR: #ffff00">spring</font></span>framework.web.servlet.DispatcherServlet <br></servlet-class><br><load-on-startup>1</load-on-startup><br></servlet>
加载 DispatcherServlet 时 Spring 会尝试读取配置文件
默认的配置文件位于 web.xml 相同的路径下 文件名与注册的 Servlet
名有关 Servlet注册名跟上 -servlet.xml
例如:上面的 Servlet 注册名为 dispatcherContext 那么 默认的
配置文件名位:dispatcherContext-servlet.xml
当然 也可以明确配置文件 需要在注册 servlet 时 设定初始化参数
<init-param><br><param-name>contextConfigLocation</param-name><br><param-value><br><!-- <SPAN class=hilite3><FONT style="BACKGROUND-COLOR: #aaffaa">配置</FONT></SPAN>文件名 --><br></param-value><br></init-param>
注册 DispatcherServlet 后 还应指定有 Spring 处理的 url 模板
<servlet-mapping><br><servlet-name>dispatherContextServlet</servlet-name><br><url-pattern>*.do</url-pattern><br></servlet-mapping>
这样 请求 .do 的处理 就全部交由 Spring 处理了
当程序越来越大 配置文件中的 <bean> 越来越多 而且变得关系错综复杂 <br>难于维护 此时应该考虑 将<span class="hilite3"><font style="BACKGROUND-COLOR: #aaffaa">配置</font></span>文件拆分成多个 <br>为了让 <span class="hilite1"><font style="BACKGROUND-COLOR: #ffff00">Spring</font></span> 能够读到这些<span class="hilite3"><font style="BACKGROUND-COLOR: #aaffaa">配置</font></span>文件 并察觉到他们的变化 <br>需要注册<span class="hilite3"><font style="BACKGROUND-COLOR: #aaffaa">配置</font></span>文件读取器 <br>对于 Servlet 2.3 以上标准 且 web 容器支持监听器 <br>可以 在 web.xml 中注册监听 <br><listener><br><listener-class><br> org.<span class="hilite1"><font style="BACKGROUND-COLOR: #ffff00">spring</font></span>framework.web.context.ContextLoaderListener <br></listener-class><br></listener><br><br>对于 Servlet 2.3 以下版本 由于不支持监听器 所以需要注册 Servlet <br><servlet><br><servlet-name>contextLoader</servlet-name><br><servlet-class><br> org.<span class="hilite1"><font style="BACKGROUND-COLOR: #ffff00">spring</font></span>framework.web.context.ContextLoaderServlet <br></servlet-class><br><load-on-startup>1</load-on-startup><br></servlet><br><br><span class="hilite3"><font style="BACKGROUND-COLOR: #aaffaa">配置</font></span>文件读取器 注册成功后 需要设定<span class="hilite3"><font style="BACKGROUND-COLOR: #aaffaa">配置</font></span>文件列表 <br>设置全局参数 contextConfigLocation <br>置为 <span class="hilite3"><font style="BACKGROUND-COLOR: #aaffaa">配置</font></span>文件列表 以逗号分隔 注意路径 <br><context-param><br><param-name>contextConfigLocation</param-name><br><param-value><br> /WEB-INF/dispatcherContext-servlet.xml, <br><!-- classpath*: 指定编译后的class目录 在ide中 与src根目录相同 --><br> classpath*:hibernateContext.xml <br></param-value><br></context-param><br><br>二,<span class="hilite3"><font style="BACKGROUND-COLOR: #aaffaa">配置</font></span>映射响应器(HandlerMapping) <br>当 DispatcherServlet 接到请求后 会向 HandlerMapping 询问 <br>请求所对应的控制器 <br>BeanNameUrlHandlerMapping <span class="hilite1"><font style="BACKGROUND-COLOR: #ffff00">Spring</font></span> 默认的映射响应器 根据 <bean> 的 name 属性查找控制器处理请求 <br><bean id="urlMapping">class="org.<span class="hilite1"><font style="BACKGROUND-COLOR: #ffff00">spring</font></span>framework.web.servlet.handler.BeanNameUrlHandlerMapping" /> <br><br>SimpleUrlHandlerMapping <span class="hilite1"><font style="BACKGROUND-COLOR: #ffff00">Spring</font></span> 中最常用的映射响应器 通过对其 mappings 进行设置 从而获得更为灵活的 <br>控制器查找机制 <br><bean id="urlMapping">class="org.<span class="hilite1"><font style="BACKGROUND-COLOR: #ffff00">spring</font></span>framework.web.servlet.handler.SimpleUrlHandlerMapping"> <br><property name="mappings"><br><props><br><prop key="/<!-- url 模板 -->.do"><!-- 控制器 <bean> 的 id --></prop><br></props><br></property><br></bean><br><br>CommonsPathMapHandlerMapping 应用了 jdk1.5 后的新特性 通过 Controller 中的注释 进行映射 <br>在类的主是中加入 @@org.<span class="hilite1"><font style="BACKGROUND-COLOR: #ffff00">spring</font></span>framework.web.servlet.handler.commonsattributes.PathMap("/path.do") <br><bean id="urlMapping">class="org.<span class="hilite1"><font style="BACKGROUND-COLOR: #ffff00">spring</font></span>framework.web.servlet.handler.metadata.CommonsPathMapHandlerMapping" /> <br><br>三,<span class="hilite3"><font style="BACKGROUND-COLOR: #aaffaa">配置</font></span>控制器(Controller) <br>当 DispatcherServlet 接到请求后 通过 HandlerMapping 询问请求所对应的处理控制器后 <br>在 dispatcherContext-servlet.xml 中 查找相对应得 <bean> 处理请求 <br><br>当选用了 BeanNameUrlHandlerMapping 映射响应器时 各个处理控制器应保证 <bean> 的 name <br>属性即为请求的 url 模板 例如: <br><bean name="/home.do" class="<!-- 包名 -->.HomeController"></bean><br><br>当选用了 SimpleUrlHandlerMapping 映射响应器时 各个处理控制器应保证 <bean> 的 id <br>属性与 SimpleUrlHandlerMapping 中的 mappings 对应 例如: <br><bean id="homeAction" class="<!-- 包名 -->.HomeController"></bean><br><br><bean id="urlMapping">class="org.<span class="hilite1"><font style="BACKGROUND-COLOR: #ffff00">spring</font></span>framework.web.servlet.handler.SimpleUrlHandlerMapping"> <br><property name="mappings"><br><props><br><prop key="/hello.do">homeAction</prop><br></props><br></property><br></bean><br><br>当选用了 CommonsPathMapHandlerMapping 映射响应器时 <br>/** <br>* @@org.<span class="hilite1"><font style="BACKGROUND-COLOR: #ffff00">spring</font></span>framework.web.servlet.handler. <br> commonsattributes.PathMap("/hello.do") <br>*/ <br>public class HelloController <br> extends AbstractCommandController { <br>... <br>} <br><br><br>四,<span class="hilite3"><font style="BACKGROUND-COLOR: #aaffaa">配置</font></span>试图解析器(ViewResolver) <br><bean id="viewResolver" class="org.<SPAN class=hilite1><FONT style=" background-color:>springframework.web.servlet.view.InternalResourceViewResolver"> <br><property name="viewClass" value="org.<SPAN class=hilite1><FONT style=" background-color:>springframework.web.servlet.view.JstlView"/> <br><property name="prefix" value="/WEB-INF/jsp/"></property><br><property name="suffix" value=".jsp"></property><br></property></bean></bean></bean></bean></bean></bean></bean></bean>
分享到:
相关推荐
3. **Spring MVC配置文件**:如`spring-mvc-config.xml`,配置视图解析器、拦截器、处理器映射器等,例如: ```xml <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> ``...
Spring MVC 配置详解 Spring MVC 是一个基于 DispatcherServlet 的 MVC 框架,它是当前主流的 Web 框架之一。要想灵活运用 Spring MVC 来应对大多数的 Web 开发,就必须要掌握它的配置及原理。 一、Spring MVC ...
这表明我们不仅得到了Spring MVC的相关资源,还获得了Hibernate 3.6.8版本的资料,这是一个流行的Java对象关系映射(ORM)框架,用于简化数据库操作。 1. **Spring MVC**: - **基本概念**:Spring MVC提供了一个...
二十、本文中springMVC.xml配置文件是核心:强调了在Spring MVC项目中,springMVC.xml配置文件的重要性,它是整个Spring MVC配置的核心所在。 以上是对所给内容的详细知识点的解析,Spring MVC的教程内容十分丰富,...
SPRING MVC 配置过程 SPRING MVC 是一个基于 DispatcherServlet 的 MVC 框架,每一个请求最先访问的都是 DispatcherServlet,DispatcherServlet 负责转发每一个 Request 请求给相应的 Handler,Handler 处理以后再...
另外,Spring Boot的出现简化了Spring MVC的配置,通过自动配置和起步依赖,使得搭建Spring MVC项目变得更加简单。 除此之外,Spring MVC还支持数据绑定、验证、本地化、主题、异常处理等功能。例如,使用@...
这个"最全最经典spring-mvc教程"应该会详细讲解上述所有概念,并可能通过实例演示如何配置、创建和调试Spring MVC项目。对于想要深入理解和使用Spring MVC的开发者来说,这是一份非常宝贵的资源。通过学习这个教程,...
下面将详细阐述Spring MVC配置的六个关键步骤,以及与之相关的知识点。 **步骤1:引入Spring MVC依赖** 在开始Spring MVC项目之前,首先需要在项目中添加Spring MVC的依赖库。这通常通过在Maven或Gradle的构建文件...
2. **Java配置增强**:Spring 4.2.x系列进一步提升了Java配置的支持,使得在没有XML配置的情况下也能轻松地配置Spring MVC。 3. **RESTful支持**:Spring MVC提供了对RESTful风格的HTTP方法(如GET、POST、PUT、...
这通常包括安装Java Development Kit (JDK)、配置IDE(如IntelliJ IDEA或Eclipse)、添加Spring MVC的相关依赖到构建工具(如Maven或Gradle)的pom.xml或build.gradle文件中。还需要配置Web应用服务器,比如Tomcat,...
- 在Spring MVC配置文件中声明处理器映射器、视图解析器、以及自定义的控制器等。 4. **创建简单示例** 在这个"Spring MVC 简单Demo"中,我们可能有一个名为`SummerWeb`的目录,其中包含以下文件: - `web.xml`...
1. **依赖注入**:Spring MVC 4.0继续支持Spring框架的核心功能,依赖注入(DI),允许开发者通过配置来管理对象及其依赖关系,降低了代码耦合度,提高了可测试性。 2. **ModelAndView对象**:在处理完请求后,控制...
DispatcherServlet 是Spring MVC 的入口 所有进入Spring Web 的 Request 都经过 DispatcherServlet 需要在 web.xml 中注册 DispatcherServlet <servlet> <servlet-name>dispatherContext</servlet-name> ...
在 Spring Boot 中,Spring MVC 的配置变得更加简单,通过自动配置和 starter 包,可以快速创建 Web 应用。 通过深入理解 Spring MVC 的这些核心概念和机制,开发者能够更好地利用这个框架构建高性能、高可用性的 ...
2. 配置Servlet容器:在web.xml中配置Spring MVC的DispatcherServlet,并指定Spring的配置文件位置。 3. 使用注解驱动:Spring MVC支持注解驱动开发,通过注解可以使配置更加简洁。 4. 数据库集成:如果涉及数据库...
这个压缩包包含了关于Spring MVC的案例、配置和原理的详细资料,对于初学者来说,是深入理解该框架的良好资源。 一、Spring MVC 基本概念 1. **模型-视图-控制器(MVC)**:MVC是一种设计模式,将业务逻辑、数据...
搭建Spring MVC和Mybatis的环境,配置相关XML或Java配置文件;编写控制器处理HTTP请求,调用服务层进行业务逻辑处理;实现DAO接口,与数据库交互;最后,前端页面展示数据,可能使用JSP、Thymeleaf或其他模板引擎。 ...
在这个实例中,我们将探讨如何利用MVC注解配置来简化Spring MVC应用的设置和管理。MVC模式(Model-View-Controller)是软件设计的一种经典模式,它将业务逻辑、数据和用户界面分离,使得代码更加模块化,易于维护。 ...