V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
inter18099
V2EX  ›  Java

请问如果 URL 和处理该 URL 的 Java class 的映射如果有很多,应该怎么处理

  •  
  •   inter18099 · 2016-04-19 15:46:21 +08:00 · 2337 次点击
    这是一个创建于 2922 天前的主题,其中的信息可能已经有所发展或是发生改变。

    例如我数据库存有全国不同城市的公交线路。现在我想写个 web 页面表示每个城市都有哪些公交线路。如果有 100 个城市就得在 web.xml 文件里写 100 个映射。

      <servlet>
        <servlet-name>cityBusServlet</servlet-name>
        <servlet-class>com.jiaotong.LoginServlet</servlet-class>
      </servlet>
    
      <servlet-mapping>
        <servlet-name>cityBusServlet</servlet-name>
        <url-pattern>/beijing</url-pattern>
      </servlet-mapping>	
    -------------------------------------------------------------------------
      <servlet>
        <servlet-name>cityBusServlet</servlet-name>
        <servlet-class>com.jiaotong.LoginServlet</servlet-class>
      </servlet>
    
      <servlet-mapping>
        <servlet-name>cityBusServlet</servlet-name>
        <url-pattern>/shanghai</url-pattern>
      </servlet-mapping>
    

    等等,每个城市都得写 URL 映射,如果这还可以接受(全国城市不算多),那么我处理该公交线路的 class 的 URL 映射得写几万个(全国公交线路有很多)。那么我想问一下有什么可行的方案来避免自己手动写这么多个 URL 映射。

    8 条回复    2016-04-25 10:54:14 +08:00
    niko
        1
    niko  
       2016-04-19 16:21:13 +08:00
    写个 DispatcherServlet ,处理所有请求;然后在 DispatcherServlet 里面对 requestURL 处理,调用具体的 Servlet ?
    shew2356
        2
    shew2356  
       2016-04-19 17:59:52 +08:00
    框架都丢掉了, Struts2 不就能解决吗 cityBusServlet_* method={1} *就是城市名称
    murmur
        3
    murmur  
       2016-04-19 22:14:24 +08:00
    为啥不用 spring 呢
    Michaelssss
        4
    Michaelssss  
       2016-04-19 22:52:08 +08:00
    。。。就算不用 SS , JAVAEE7 的注解你吃掉了么?= =
    zonghua
        5
    zonghua  
       2016-04-20 01:29:22 +08:00 via iPhone
    jetty 源码
    unique
        6
    unique  
       2016-04-20 08:41:19 +08:00   ❤️ 1
    楼主也可以自己写一个 传送门 https://github.com/biezhi/java-bible/blob/master/mvc/index.md
    honam
        7
    honam  
       2016-04-20 15:30:42 +08:00
    spring ,用 url mapping controller 很方便为什么不用呢
    specita
        8
    specita  
       2016-04-25 10:54:14 +08:00
    @Webservlet 注解
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2619 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 01:46 · PVG 09:46 · LAX 18:46 · JFK 21:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.