spring内建一个请求驱动的web mvc框架,它以一个分发器DisptcherServlet为中心,将web请求分发到不同的处理器进行处理。
1.分发器DisptcherServlet的配置
使用DisptcherServlet之前需要在web.xml中进行配置
<servlet>
<servlet-name>dispatherContext</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatherContext</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
在web.xml中可以配置多个DisptcherServlet,在web启动时,每个
DisptcherServlet都会在WEB-INF中查找[servlet-name]-servlet.xml,该xml将作为web上下文被自动加载,用于定义用户控制器、配
置spring的web框架设施(如视图解析器、处理器映射等)
2.处理器映射Handle Mapping
Handle Mapping的基本功能是将web请求正确映射到相应的处理器上。
1>BeanNameUrlHandleMapping:它将bean名称解析为url并将web请求映射到同名的处理器bean上
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
2>SimpleUrlHandleMapping:它直接映射了任意的url和相应的处理器。
SimpleUrlHandlerMapping Spring 中最常用的映射响应器 通过对其 mappings 进行设置 从而获得更为灵活的控制器查找机制
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/_url.do">_beanName</prop>
</props>
</property>
</bean>
3.处理器拦截器HandlerInterceptor
HandlerInterceptor可以在处理器执行前后或整个web请求处理完成后,执行一些特定功能。他有三个方法:
boolean preHandle(HttpServletRequest,HttpServletResponse,Object);
void postHandle(HttpServletRequest,HttpServletResponse,ModelAndView);
void afterCompletion(HttpServletRequest,HttpServletResponse,Object,Exception);
HandleInterceptorAdapter是HandlerInterceptor的默认实现
配置于[servlet-name]-servlet.xml
<property name="interceptors">
<list>
<ref bean="_beanName"/>
<ref ../>
</list>
</property>
4.处理器的配置
5.配置试图解析器(ViewResolver)
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/jsp"/> //前缀路径配置
<property name="suffix" value=".jsp"/> //后缀路径配置
</bean>
发表评论
-
spring-MessageSource
2010-05-05 15:41 1723将Spring自带的org.springframework.c ... -
spring的扩展点--PropertyPlaceholderConfigurer
2010-05-05 14:01 1074它的作用是一个资源属性的配置器,能够将BeanFactory的 ... -
ApplicationContextAware
2010-03-30 14:36 1155JDK-doc 2.5.6 Interface Applic ... -
org.springframework.beans.factory.BeanCreationException: Error creating bean wit
2010-01-24 18:45 3835org.springframework.beans.facto ... -
SPRING框架的7大模块
2008-08-23 16:48 987核心容器:核心容器 ... -
使用Spring编写第一个程序-spring初级体验
2008-08-23 16:52 789对最原始的HelloWorld.java ... -
Spring中BeanFactory配置文件的元素解析
2008-08-24 11:39 743<?xml version="1.0" ... -
使用Lookup方法注射方法
2008-08-24 17:46 698spring方法解决下面的问题:一个singleton bea ... -
替换任意的方法
2008-08-24 18:06 835在spring中不但提供了Lookup方法来注射方法,还提供了 ... -
一个普通表单控制器(SimpleFornController)处理视图流转的例子
2008-08-26 09:40 787Spring附有一些简单的窗体处理handler,这些hand ... -
SimpleFormController简单表单控制器的处理流程
2008-08-26 10:19 8751.当表单控制器接 ... -
SPRING分发器(DispatcherServlet)
2008-09-09 00:15 1365分发器(DispatcherServlet) Sprin ... -
Spring的View和ViewResolver的使用
2008-09-11 23:15 1533打开Spring的源代码,我们可以在org.springfra ... -
ModelAndView解析
2008-09-16 09:39 1268查看spring的帮助文档得到以下信息: org.sprin ... -
spring验证器Validator接口
2008-09-16 21:30 2630spring2.0 Validator接口 ... -
spring视图解析器
2008-09-17 15:21 1350spring最常用的JSP/JSTL视图解析器是: Int ... -
Spring dataSource配置
2010-01-23 13:40 1818不管通过何种持久化 ... -
AOP(Aspect Oriented Programming ) 面向切面编程
2010-01-23 13:38 835AOP是什么? AOP是OO ...
相关推荐
正式名称“Spring Web MVC”来源于其源模块 `spring-webmvc`,但在实际使用中更常见地被称为“Spring MVC”。 与 Spring Web MVC 并行地,Spring Framework 5.0 引入了响应式栈——一个名为 Spring WebFlux 的 Web ...
spring-webmvc-5.0.9.RELEASE-sources.jar则包含了源码,可以深入研究Spring Web MVC的实现细节,对于学习和调试都非常有帮助。 九、依赖管理 在实际项目中,Spring Web MVC往往与其他Spring模块如Core、AOP、Data...
这个"spring-webmvc.rar"压缩包包含了Spring Web MVC的源代码,允许开发者深入理解其内部机制,这对于学习和调试Spring应用非常有帮助。下面我们将详细探讨Spring Web MVC的关键知识点。 1. **MVC架构**:Spring ...
标题中的"spring.jar"、"spring-webmvc-struts.jar"和"spring-webmvc.jar"都是Spring框架相关的Java库文件,通常以.jar结尾的文件是Java的归档文件,包含了类、资源和元数据,用于Java应用程序的运行。这些文件在...
在Spring Web MVC Portlet的配置中,我们需要定义portlet的配置类,创建DispatcherPortlet实例,并配置处理器映射器(HandlerMapping)和视图解析器(ViewResolver)。此外,还需要在portlet-context.xml中配置...
Spring 2.5.6 需要引入的 jar 包有 spring.jar、spring-webmvc.jar、commons-logging.jar、cglib-nodep-2.1_3.jar 等。Hibernate 3.6.8 需要引入的 jar 包有 hibernate3.jar、hibernate-jpa-2.0-api-1.0.1.Final.jar...
根据给定的 `web.xml` 和 `annomvc-servlet.xml` 文件内容,我们可以了解到 Spring Web MVC 在项目中的配置方式。 ##### 1. `web.xml` - **ContextLoaderListener**:用于初始化 Spring 应用上下文。配置文件 `...
`spring-webmvc`是这个模块的核心组件,提供了一种模型-视图-控制器(MVC)架构来构建可扩展和灵活的Web应用。在Java开发中,尤其是SSM(Spring、SpringMVC、MyBatis)框架的使用中,`spring-webmvc`扮演着至关重要...
### 深入浅出学Spring Web MVC #### 一、Spring Web MVC 概述 **Spring Web MVC** 是一种轻量级的、基于MVC(Model-View-Controller)设计模式的Web应用框架,是Spring框架的重要组成部分之一。它为开发者提供了...
《精通Spring Web MVC》 Spring Web MVC是Spring框架的核心组件之一,它为构建基于Java的Web应用程序提供了模型-...通过阅读《Mastering Spring Webmvc》及参考博文,可以深入理解Spring MVC的内部机制和最佳实践。
《深入解析Spring Web MVC框架——基于spring-webmvc.jar》 Spring Web MVC是Spring框架的核心模块之一,它为构建Web应用程序提供了强大的模型-视图-控制器(MVC)架构支持。在Java开发领域,Spring Web MVC以其...
《Spring Web MVC与Portlet框架整合详解》 在Java企业级开发中,Spring Web MVC和Portlet框架的应用广泛且深入,它们各自在不同的场景下发挥着重要作用。Spring Web MVC是Spring框架的重要组成部分,用于构建高性能...
**在 Spring Web MVC 环境下使用 Dojo** Dojo 是一个强大的 JavaScript 库,提供了丰富的 UI 组件、数据管理、异步通信等功能,广泛应用于构建富客户端应用。Spring Web MVC 是 Java 开发Web应用的主流框架,以其...
2. **DispatcherServlet**:作为Spring Web MVC的入口点,DispatcherServlet负责接收HTTP请求,并根据配置将请求分发给合适的处理器。它通过HandlerMapping和HandlerAdapter组件,实现了对不同类型的处理器(如控制...
1. **MVC配置**: Spring Web MVC 3.1引入了自动配置的概念,使得开发者可以通过注解来声明式地配置MVC组件,如`@Controller`、`@RequestMapping`等。这极大地减少了XML配置文件的使用,简化了项目配置。 2. **...
3. **Spring MVC配置文件**:如`spring-mvc-config.xml`,配置视图解析器、拦截器、处理器映射器等,例如: ```xml <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> ...
- **约定优于配置**:Spring Web MVC提供了许多约定,使得开发者可以快速上手,同时也能进行自定义配置。 - **数据验证与绑定**:内置的数据验证机制可以帮助开发者轻松验证用户输入,而数据绑定则简化了模型数据与...
Spring Web MVC的源码中,你可以看到其对AOP(面向切面编程)和依赖注入(DI)的巧妙运用,使得代码高度可配置和可扩展。例如,HandlerMapping和HandlerAdapter都是可插拔的,可以通过实现特定接口来自定义自己的...
Spring Web MVC 和 TX(事务管理)是Spring框架中的两个核心组件。Spring Web MVC 是Spring用于构建Web应用程序的模型-视图-控制器(MVC)框架,而TX则提供了声明式和编程式的事务管理功能。接下来,我们将深入探讨...
4. **Spring MVC配置**:配置DispatcherServlet,添加视图解析器、拦截器等。 5. **编写Controller**:创建Controller类,注入Mapper接口,调用接口方法处理业务逻辑。 6. **编写Mapper接口和XML**:定义SQL查询、...