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

2016-04-19 15:46:21 +08:00
 inter18099

例如我数据库存有全国不同城市的公交线路。现在我想写个 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 映射。

2394 次点击
所在节点    Java
8 条回复
niko
2016-04-19 16:21:13 +08:00
写个 DispatcherServlet ,处理所有请求;然后在 DispatcherServlet 里面对 requestURL 处理,调用具体的 Servlet ?
shew2356
2016-04-19 17:59:52 +08:00
框架都丢掉了, Struts2 不就能解决吗 cityBusServlet_* method={1} *就是城市名称
murmur
2016-04-19 22:14:24 +08:00
为啥不用 spring 呢
Michaelssss
2016-04-19 22:52:08 +08:00
。。。就算不用 SS , JAVAEE7 的注解你吃掉了么?= =
zonghua
2016-04-20 01:29:22 +08:00
jetty 源码
unique
2016-04-20 08:41:19 +08:00
楼主也可以自己写一个 传送门 https://github.com/biezhi/java-bible/blob/master/mvc/index.md
honam
2016-04-20 15:30:42 +08:00
spring ,用 url mapping controller 很方便为什么不用呢
specita
2016-04-25 10:54:14 +08:00
@Webservlet 注解

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/272270

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX