DispatcherServlet 配置
整个过程开始于客户发出的一个请求,第一个接受这个请求的组件是Spring的DispatcherServlet。Spring MVC将所有请求都经过一个前端Servlet控制器。DispatcherServlet就是这个前端控制器。
DispatcherServlet 同其他的Servlet一样要在web.xml中进行配置。
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servelt>
当DispatcherServlet装载后,它将从xml文件中载入spring的应用上下文,这个xml文件的名字取决于servlet 的名字。在本例中因为servlet叫test,所以DispatcherServlet将试图从一个叫做test-servlet.xml的文件中载入应用上下文。
接下来,你必须指定哪些URL需要由DispatcherServlet来处理。在web.xml中添加:
<servlet-mapping>
<servlet-name></servlet-name>
<url-pattern>*.do/*htm/...</url-pattern>
</servlet-mapping>
URL 是任意的。
分解应用上下文
DispatcherServlet 可以从以<servlet-name>命名的xml文件中载入应用上下文。但建议将应用上下文分散到应用系统的各个层中。
web 层 test-servlet.xml(用于控制的bean,Spring MVC组件)
业务层 test-service.xml
持久层 test-data.xml
由于 DispatcherServlet默认从test-servlet.xml(例子中)中载入应用上下文,为了保证所有配置文件都会被载入,你需要在web.xml中配置一个上下文载入器。有两种上下文载入器:ContextLoaderListener和ContextLoaderServlet。
可以在web.xml中这样配置ContextLoaderListener:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderLisetener
</listener-class>
</listener>
老版本只能用ContextLoaderServlet但它不能再Servlet之前初始化监听器.需要如下配置:
<servlet>
<servlet-name>context<servelt-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet
</servet-class>
<load-on-startup>1</load-on-startup>
</servlet>
你还需指定配置文件的位置,如没有指定上下文载入器将在/WEB-INF/application-Context.xml处寻找Spring配置文件.
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/ntx.xml, ..., ...</param-value>
</context-param>
DispatcherServlet 配置好了,但是web层没有建好,那是下面的工作.
分享到:
相关推荐
### Spring MVC配置与原理详解 #### 一、Spring MVC背景介绍 Spring框架作为一个全面的轻量级企业级应用开发框架,提供了丰富的功能模块,其中包括一个功能完备的MVC(Model-View-Controller)模块,用于构建Web...
Spring容器通过读取XML配置文件或者注解来了解对象间的依赖关系,然后利用Java的反射机制动态地创建和装配对象。这样,对象之间不再直接引用,而是通过容器获取依赖,降低了对象之间的耦合度,提高了代码的可测试性...
- **动态代理**:Spring默认采用JDK的动态代理或者CGLIB库,能够在运行时动态创建代理对象,无需为每个目标类单独创建代理。动态代理适用于任何实现了接口的目标对象。 在事务管理中,Spring通常使用AOP动态代理...
- **Bean工厂**:Spring的核心是Bean工厂,它根据配置文件(如XML或Java配置)来创建和管理Bean。Bean是Spring容器中的基本实体,代表一个Java对象。容器负责初始化、装配以及管理这些Bean的生命周期。 2. **面向...
Spring作为一个容器,它的主要任务是管理和装配应用程序中的对象,使得对象之间的依赖关系不再通过硬编码实现,而是通过配置文件或注解来定义。 **IoC(控制反转)** IoC的核心思想是将对象的创建和管理的权利交给...
3. 配置Spring MVC:设置DispatcherServlet,配置HandlerMapping和HandlerAdapter。 4. 配置MyBatis:编写mybatis-config.xml,包含数据源、事务管理器、环境等信息。 5. 配置Mapper:创建Mapper接口和对应的XML文件...
对于初学者来说,这三者结合的学习路径通常是:首先理解Spring的基础概念,掌握依赖注入和AOP的原理;然后进入Spring MVC的学习,了解MVC模式和Spring MVC的组件工作方式,以及如何编写Controller、Service、DAO等层...
3. 配置DispatcherServlet:在web.xml中配置DispatcherServlet,并指定Spring MVC的配置文件位置。 4. 编写Controller:创建Controller类,处理HTTP请求。 5. 视图解析:配置ViewResolver,设置视图解析规则。 6....
3. 在src/main/webapp/WEB-INF目录下创建web.xml,并配置DispatcherServlet。 4. 创建Spring配置文件,定义Controller Bean和其他相关Bean。 5. 编写Controller类,实现业务逻辑。 6. 创建视图模板(JSP、Thymeleaf...
在这个例子中,`contextConfigLocation` 参数指定了Spring配置文件的位置,使得Servlet容器知道在哪里加载ApplicationContext。 另一方面,`<init-param>` 是用于配置Servlet或Filter的初始化参数。与 `...
6. **运行应用程序**:在实际项目中,你可能需要将Spring配置集成到Web应用中。创建一个Servlet或MVC控制器,使用Spring的DispatcherServlet来处理HTTP请求。配置web.xml以启动Spring上下文,并定义...
这个示例中的"SH"可能代表Spring和Hibernate的整合,具体实现可能包括"SH-config.xml"(Spring配置文件)、"SH-hibernate.cfg.xml"(Hibernate配置文件)、"SH-User.java"(用户实体类)、"SH-UserService.java"...
### Spring+SpringMVC+Mybatis SSM三大框架的运行流程、原理、核心技术详解 #### 一、Spring框架 **1. Spring的运行流程** - **第一步:加载配置文件** - 使用`ApplicationContext ac = new ...
Spring MVC通过DispatcherServlet接收请求,然后根据请求映射到相应的控制器方法,最后返回视图进行渲染。 Spring框架是整个SSM的核心,它提供了依赖注入(DI)和面向切面编程(AOP)等功能,帮助简化Java应用的...
Spring框架是Java开发中最常用的轻量级框架之一,它的运行机制源码剖析是理解其工作原理的关键。在本文中,我们将深入探讨Spring的核心组件、依赖注入(DI)以及AOP(面向切面编程)的实现。 首先,让我们从Spring...
### Spring框架概述与核心原理 #### 一、Spring框架简介 Spring框架是一个广泛使用的开源Java平台,用于构建高质量的企业级应用程序。它最初由Rod Johnson在2004年创建,旨在简化企业级Java应用程序的开发过程。...
2. web.xml:配置DispatcherServlet,包括servlet-name、servlet-class、加载顺序(load-on-startup)、URL映射(url-pattern)等。 3. springmvc-config.xml:Spring MVC的核心配置文件,定义HandlerMapping、...
以上是Spring面试中常见的专题和知识点,每个主题都可以深入探讨,例如AOP的实现原理、Spring Boot的自动配置机制、Spring Security的认证流程等。理解并掌握这些内容,对于成为一名优秀的Spring开发者至关重要。
这个项目提供了一个基础的Spring MVC应用实例,你可以通过运行和修改它来深入理解Spring MVC的工作原理和最佳实践。学习和实践这个项目,对于提升你的Java Web开发技能,特别是Spring MVC框架的理解,将大有裨益。
例如,`@ConditionalOnWebApplication`确保只有在Servlet环境运行时才会加载配置,`@ConditionalOnClass`则检查是否存在`Servlet`、`DispatcherServlet`和`WebMvcConfigurer`类,这些都是Spring MVC的核心组件。...