配置DispatcherServlet的方法介绍

 更新时间:2019年01月05日 15:17:29   作者:李灿辉  
今天小编就为大家分享一篇关于配置DispatcherServlet的方法介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

DispatcherServlet是Spring MVC的前端控制器,要想在程序中使用DispatcherServlet,我们需要在web.xml中配置一个DispatcherServlet。配置的方法是,在web.xml文件中,配置一个<servlet>节点,它的子节点<servlet-name>可以自定义一个名字,例如sample,<servlet-class>指定为org.spring.springframework.web.servlet.DispatcherServlet。

当DispatcherServlet被载入后,它将从xml文件载入Spring的应用上下文,而从哪个xml文件载入呢?xml文件的名字取决于DispatcherServlet的名字。如果DispatcherServlet的名字为sample,那么它将从sample-servlet.xml的文件中载入应用上下文。

接下来,我们需要配置哪些URL需要由DispatcherServlet来处理,这是通过在web.xml中配置一个<servlet-mapping>节点来实现的。如下所示。

<servlet-mapping>
  <servlet-name>sample</servlet-name>
  <url-pattern>*.htm</url-pattern>
</servlet-mapping>

正如前面提到的DispatcherServlet将从<servlet-name>命名的xml中载入应用的上下文。那么这就要求我们把所有需要载入的Bean都定义在这个xml文件中。这显然是不利于对Bean的分类的管理的。例如,我们想把持久层的bean放在一个xml文件中,把服务层的bean放在另一个xml文件中,把web层的bean也单独放在一个xml文件中。那么DispatcherServlet如何载入多个xml文件呢?

为了把这些xml都载入进来,我们需要在web.xml文件中配置一个上下文载入器,上下文载入器用于载入除DispatcherServlet载入的xml文件之外的文件。最常用的上下文载入器就是一个servlet监听器,名称为ContextLoadListener。我们需要在web.xml中这样配置它。

<listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

默认情况下,上下文载入器将会在/WEB-INF/applicationContext.xml中载入配置,但如果想载入多个配置文件,我们需要改变它的默认行为。

可以通过在Servlet上下文中设置contextConfigLocation参数来为上下文载入器指定一个或多个Spring配置文件。如下。

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>
    /WEB-INF/a.xml
    /WEB-INF/b.xml
    /WEB-INF/c.xml
  </param-value>
</context-param>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • 详解Java中的println输入和toString方法的重写问题

    详解Java中的println输入和toString方法的重写问题

    这篇文章主要介绍了Java中的println输入和toString方法的重写,一个对象数组在调用Arrays.toString打印时,相当于遍历数组,然后打印里边每个对象,这再打印对象就调用对象自己的toString了,需要的朋友可以参考下
    2022-04-04
  • Spring Data JPA 整合QueryDSL的使用案例

    Spring Data JPA 整合QueryDSL的使用案例

    QueryDSL 是一个用于构建类型安全的 SQL 查询的 Java 库,它的主要目标是简化在 Java 中构建和执行 SQL 查询的过程,同时提供类型安全性和更好的编码体验,对Spring Data JPA 整合QueryDSL使用案例感兴趣的朋友跟随小编一起看看吧
    2023-08-08
  • Java基于递归和循环两种方式实现未知维度集合的笛卡尔积算法示例

    Java基于递归和循环两种方式实现未知维度集合的笛卡尔积算法示例

    这篇文章主要介绍了Java基于递归和循环两种方式实现未知维度集合的笛卡尔积算法,结合实例形式分析了Java使用递归与循环两种方式实现未知维度集合的笛卡尔积相关概念、原理与操作技巧,需要的朋友可以参考下
    2017-12-12
  • JAVA多线程之中断机制stop()、interrupted()、isInterrupted()

    JAVA多线程之中断机制stop()、interrupted()、isInterrupted()

    这篇文章主要介绍了JAVA多线程之中断机制stop()、interrupted()、isInterrupted()的相关资料,需要的朋友可以参考下
    2016-05-05
  • 解决Request.getParameter获取不到特殊字符bug问题

    解决Request.getParameter获取不到特殊字符bug问题

    这篇文章主要介绍了解决Request.getParameter获取不到特殊字符bug问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Java通过URL类下载图片的实例代码

    Java通过URL类下载图片的实例代码

    这篇文章主要介绍了Java通过URL类下载图片,文中结合实例代码补充介绍了java通过url获取图片文件的相关知识,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • java后台接收app上传的图片的示例代码

    java后台接收app上传的图片的示例代码

    本篇文章主要介绍了java后台接受app上传的图片的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • Java 匿名对象与匿名内部类的使用

    Java 匿名对象与匿名内部类的使用

    很多小伙伴对匿名对象和匿名内部类的写法有点陌生,本文主要介绍了Java 匿名对象与匿名内部类的使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • 详细聊聊JDK中的反模式接口常量

    详细聊聊JDK中的反模式接口常量

    这篇文章主要给大家介绍了关于JDK中反模式接口常量的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者使用jdk具有一定的参考学习价值,需要的朋友可以参考下
    2022-01-01
  • 浅析Java中静态代理和动态代理的应用与区别

    浅析Java中静态代理和动态代理的应用与区别

    代理模式在我们生活中很常见,而Java中常用的两个的代理模式就是动态代理与静态代理,这篇文章主要为大家介绍了二者的应用与区别,需要的可以参考下
    2023-08-08

最新评论