zoukankan      html  css  js  c++  java
  • 多个DispatcherServlet有什么用处.md

    有看到一些应用在 web.xml 文件中配置了多个 DispatcherServlet,例如:

    <servlet>
        <servlet-name>en</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
     
    <servlet>
        <servlet-name>ib</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
     
    <servlet-mapping>
        <servlet-name>en</servlet-name>
        <url-pattern>/en/*</url-pattern>
    </servlet-mapping>
     
    <servlet-mapping>
        <servlet-name>ib</servlet-name>
        <url-pattern>/ib/*</url-pattern>
    </servlet-mapping>
    

    这两个 servlet 起到的作用是请求的时候url路径不一样,比如 http://ip:port/en/index.jsp 与 http://ip:port/ib/index.jsp。
    实际上这个功能可以通过只定义一个缺省的 dispatcherservlet,然后通过 @RequestMapping 注解区分路径,如下所示:

    <servlet>
        <servlet-name>en</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
     
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    
    @RequestMapping("/en")
    public class EnController{}
    @RequestMapping("/ib")
    public class EnController{}
    

    因此定义多个 dispatcherservlect 实际上是没有什么特别的用处的,并且还是得要考虑,不同的DispatcherServlet 的 url-pattern 是否会相互影响。
    多个DispatcherServlet的应用场景,可能是引入了第三方的jar包,而对方的接口与项目的冲突了,通过 DispatcherServlet 来解决。但是如果出现这种情况,只能说明第三方的jar包的restful接口并太随意了,完全没有考虑第三方引用的情况。
    目前是没有想到一定要使用多个 DispatcherServlet 的必要性

  • 相关阅读:
    Palindrome Partitioning
    triangle
    Populating Next Right Pointers in Each Node(I and II)
    分苹果(网易)
    Flatten Binary Tree to Linked List
    Construct Binary Tree from Inorder and Postorder Traversal(根据中序遍历和后序遍历构建二叉树)
    iOS系统navigationBar背景色,文字颜色处理
    登录,注销
    ios 文字上下滚动效果Demo
    经常崩溃就是数组字典引起的
  • 原文地址:https://www.cnblogs.com/xiaoheike/p/9147884.html
Copyright © 2011-2022 走看看