- 浏览: 312344 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zhou363667565:
看到你的这个配置 有个地方有点问题:
< aop:po ...
spring ibatis 事务配置 -
wo17796452:
[b][/b][i][/i][u][/u]引用[*][img] ...
crowd Jira confluence 集成 -
wo17796452:
<input type="button&quo ...
crowd Jira confluence 集成 -
benbear2008:
这些类图呢?
Spring MVC框架类图与顺序图 -
TTLtry:
谢了 最近学习spring时候 却总是登不上官方网站 很多 ...
Spring 2.5.5 api 帮助文档 chm格式 下载
DispatcherServlet预设使用servlet名称加上"-servlet.xml"作为其定义档名称,定义档预设是放在WEB-INF下,您也可以自行指定定义文件名称与位置,例如: <servlet> <servlet-name>hello</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/hello1-servlet.xml, /WEB-INF/hello2-servlet.xml</param-value> </init-param> </servlet> <bean id="helloUserAction" class="onlyfun.caterpillar.HelloUserAction"> <property name="helloWord"> <value>Hello!</value> </property> <property name="viewPage"> <value>/WEB-INF/jsp/hellouser.jsp</value> </property> </bean> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/hellouser.do">helloUserAction</prop> </props> </property> </bean> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass"> <value>org.springframework.web.servlet.view.InternalResourceView</value> </property> <property name="prefix"> <value>/WEB-INF/jsp/</value> </property> <property name="suffix"> <value>.jsp</value> </property> </bean> <bean id="helloUserAction" class="onlyfun.caterpillar.HelloUserAction"> <property name="helloWord"> <value>Hello!</value> </property> <property name="viewPage"> <value>hellouser</value> </property> </bean> </beans> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/hellouser.do">helloUserAction</prop> </props> </property> </bean> <bean id="viewResolver" class="org.springframework.web.servlet.view.ResourceBundleViewResolver"> <property name="basename"> <value>views</value> </property> </bean> <bean id="helloUserAction" class="onlyfun.caterpillar.HelloUserAction"> <property name="helloWord"> <value>Hello!</value> </property> <property name="viewPage"> <value>hellouser</value> </property> </bean> </beans> hellouser.class=org.springframework.web.servlet.view.InternalResourceView hellouser.url=/WEB-INF/jsp/hellouser.jsp welcomeuser.class=org.springframework.web.servlet.view.JstlView welcomeuser.url=/WEB-INF/jsp/welcomeuser.jsp otherview.class=org.springframework.web.servlet.view.VelocityView otherview.url=/WEB-INF/vm/other.vm .... <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass"> <value>org.springframework.web.servlet.view.InternalResourceView</value> </property> <property name="prefix"> <value>/WEB-INF/jsp/</value> </property> <property name="suffix"> <value>.jsp</value> </property> </bean> <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="exceptionMappings"> <props> <prop key="java.sql.SQLException">exsql</prop> <prop key="java.sql.IOException">exio</prop> </props> </property> </bean> ....
DispatcherServlet各有其namespace与应用程序context,您可以在web.xml中定义多个DispatcherServlet的实例,分别负责不同模块的请求处理工作。
Spring对DispatcherServlet所处理的组件(component)都当作一般的Bean来处理,所以在设定 DispatcherServlet的定义档时,就如同之前的主题中处理Bean定义文件一样,一致性的组态方式是Spring所提供的优点之一,每个组件的设定都像是Bean,所以您只要查询API文件,了解属性的关系与作用,并在定义档中设定好依赖关系,就可以使用这些组件。
一些设定DispatcherServlet的定义档方式,我们前一个主题中介绍了大半,这边补充一些额外的设定。
首先,我们之前在设定helloUserAction,在设定viewPage时,必须设定好完整的目录与文件名称,例如:
您可以在viewResolver中设定prefix与suffix属性,分别设定除了文件名之外的前置与后置文字,这样您的viewPage属性就可以只打档案的主要名称,直接给个实例:
您也可以将viewResolver的定义独立出来至一个属性文件中,使用 org.springframework.web.servlet.view.ResourceBundleViewResolver,这样作的好处是您可以根据您实际的url去处设定不同的表示层技术,例如:
我们在ResourceBundleViewResolver的basename属性设定了views名称(实际上,views也是basename的 默认值),这表示我们将使用views.properties来设定表示层技术的viewClass与url,我们的views.properties如下:
利用这个方式,我们可以混合不同的表示层技术在同一个Web应用程序中,views.properties中是class与url值设定,其 hellouser与welcomeuser的名称是我们给ModelAndView的名称,例如我们设定了hellouser给 ModelAndView的话,就会去找hellouser.class与hellouser.url来设定表示层技术与url去处,我们则在这边是透过 helloUserAction的viewPage属性来注入,避免将名称写死在程序中。
如果您的JSP网页或Servlet中会丢出例外,而您想捕捉这个例外,除了容器与JSP网页的设定方法之外(参考JSP/Servlet版面中的介 绍),您也可以在DispatcherServlet的定义档中设定错误处理网页,设定一个exceptionResolver Bean,例如SimpleMappingExceptionResolver:
如此设定,只要发生了SQLException,就会连接至/WEB-INF/jsp/exsql.jsp,而发生了IOException,就会连接至/WEB-INF/jsp/exio.jsp。
发表评论
-
入门 21 - Controller的单元测试
2011-03-14 08:09 1134现在假设您要设 ... -
Spring MVC框架类图与顺序图
2011-03-14 08:08 4986藉由了解Spring的框架组成,我们可以了解框架之中的类与 ... -
Spring入门19 - ModelAndView类别
2011-03-14 08:07 1356入门 19 - ModelAndView类别 ... -
入门 17 - 第一个Spring MVC Web程序
2011-03-14 08:06 1121进行这个程序之前,请您先完成入门 04 - 第一个Spri ... -
入门 16 - BeanFactoryPostProcessor接口
2011-03-14 08:05 1017撰写Bean定义档通常使用XML来撰写,XML阶层式的组织 ... -
入门 15 - Aware相关接口
2011-03-14 08:05 993Spring中提供一些Aware相关接口,像是BeanFa ... -
入门 14 - 资源文件的取得
2011-03-14 08:04 886首先来看看ApplicationContext接口的实作 ... -
入门 13 - MessageResource接口
2011-03-14 08:03 1131ApplicationContext继承了org.spri ... -
入门 12 - ApplicationContext接口
2011-03-14 08:03 919在Spring中,BeanFactory提供的是个比较API层 ... -
入门 11 - DataSource注入
2011-03-14 08:02 1075对于不同的数据库存取需求,我们使用JDBC来解决这个 ... -
入门 10 - 集合对象注入
2011-03-14 08:01 826对于像数组、java.util.List、java. ... -
入门 09 - 属性参考与自动绑定
2011-03-14 08:00 874在定义Bean时,除了直接指定值给属性值之外,还可以直接参 ... -
入门 08 - 不使用XML定义档
2011-03-14 07:59 857XML档案的阶层格式非常适用于于组态设定,也因此几 ... -
入门 07 - Bean生命周期
2011-03-14 07:59 800在Spring中,从BeanFactory取得的实 ... -
入门 06 - Bean定义档进阶读取
2011-03-14 07:58 878BeanFactory可以接受InputStrea ... -
Constructor注入
2011-03-14 07:57 1055Spring鼓励的是setter injection,但也 ... -
第一个Spring程序
2011-03-14 07:57 882首先我们要先取得Sprin ... -
入门 03 - 依赖注入DI
2011-03-14 07:56 870IoC模式基本上是一个高层的概念,在Martin Fow ... -
控制反转IoC
2011-03-14 07:55 842IoC全名Inversion of Control,如果 ... -
简介 Spring
2011-03-14 07:54 788入门 01 - 简介 Spring Spring是轻量 ...
相关推荐
这个容器包含了所有的bean定义,包括服务层、数据访问层等组件。通过这种方式,ContextLoaderListener确保了整个Spring应用的生命周期管理。 两者的主要区别在于: 1. 职责不同:DispatcherServlet主要负责处理...
org.springframework.web.servlet.DispatcherServlet java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet at org.apache.catalina.loader.WebappClassLoader.loadClass ...
SpringMVC DispatcherServlet重写、自定义拦截器拦截器源码
Springboot 2.4.4 网上搜到的配置多个DispatcherServlet 都有坑,自己避坑写的一个demo,处理.do .htm请求,Controller分离不会出现一个Controller可以处理.do也处理.htm可自己扩展.action .json等,适合分离前台...
DispatcherServlet是一个标准的Servlet,因此可以在web.xml配置文件中定义多个实例,每个实例都有自己的配置和作用范围。在web.xml中,我们通常会看到如下配置: ```xml <servlet-name>example <servlet-class>...
在 Spring Boot 中配置多个 DispatcherServlet 在 Spring Boot 中,配置多个 DispatcherServlet 是一种常见的需求,特别是在大型项目中需要对不同服务进行不同的配置管理时。Spring Boot 为我们自动配置了一个开箱...
Spring源码学习九:DispatcherServlet初始化源码分析1 DispatcherServlet是SpringMVC的核心分发器,它实现了请求分发,是处理请求的入口,本篇将深入源码分析它的初始化过程。 首先,从DispatcherServlet的名称上...
在`web.xml`中的配置中,`<servlet>`元素定义了DispatcherServlet的实例,其中`<load-on-startup>`指定启动服务器时初始化Servlet的顺序,数字越小,初始化越早。`<url-pattern>`定义了DispatcherServlet处理的请求...
在上面的配置中,我们定义了一个名为springmvcServlet的Servlet,并指定其类为org.springframework.web.servlet.DispatcherServlet。同时,我们还指定了初始化参数contextConfigLocation,用于加载SpringMVC的配置...
SpringMVC DispatcherServlet 初始化过程详解 DispatcherServlet 是 SpringMVC 框架中的核心组件,对于 SpringMVC 的请求处理和响应起着至关重要的作用。DispatcherServlet 的初始化过程是 SpringMVC 实现原理的...
1. `webapp/WEB-INF/spring/appServlet/servlet-context.xml` - Spring MVC的配置文件,配置DispatcherServlet、视图解析器、Bean定义等。 2. `webapp/WEB-INF/web.xml` - Web应用的部署描述符,定义...
【SpringMVC源码剖析(二)- DispatcherServlet的前世今生1】 在Spring MVC框架中,DispatcherServlet扮演着至关重要的角色,它是整个框架的核心。本文将深入探讨DispatcherServlet的两个核心设计原则及其在Spring ...
"配置DispatcherServlet的方法介绍" DispatcherServlet是Spring MVC的前端控制器,是一个核心组件,负责处理HTTP请求和响应。在Spring MVC中,DispatcherServlet是一个centralized servlet,它处理所有的HTTP请求,...
接下来我们将深入探讨DispatcherServlet的请求处理机制。 首先,DispatcherServlet在初始化时会通过配置加载一系列的组件,包括HandlerMapping、HandlerAdapter、ViewResolver等,这些组件协同工作以处理HTTP请求。...
本篇文章将深入探讨DispatcherServlet的请求分发流程。 DispatcherServlet继承自HttpServlet,其核心功能在于处理HTTP请求。在Servlet的service方法中,DispatcherServlet会接收到请求并进行分发。在...
在本文中,我们将深入探讨`DispatcherServlet`的初始化流程,这是SpringMVC的核心组件。`DispatcherServlet`扮演着中央调度者的角色,负责接收请求、解析请求信息,并调用合适的控制器进行业务逻辑处理。 首先,让...
本篇文章将深入分析DispatcherServlet如何实现请求转发的过程,以及Spring MVC与Servlet容器的紧密集成。 首先,当一个HTTP请求到达Servlet容器时,如Tomcat,容器会调用Servlet的`service()`方法。对于...
DispatcherServlet之前端控制器架构详解 DispatcherServlet是Spring MVC框架中的核心组件,作为前端控制器,负责拦截和分发请求到不同的控制器去处理。下面我们将详细介绍DispatcherServlet的架构和生命周期。 ...