为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

烙印99 2019-03-13 18:10:49
例如我数据库存有全国不同城市的公交线路。现在我想写个 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.CityBusServlet</servlet-class>  </servlet>  <servlet-mapping>    <servlet-name>cityBusServlet</servlet-name>    <url-pattern>/shanghai</url-pattern>  </servlet-mapping>等等,每个城市都得写 URL 映射,如果这还可以接受(全国城市不算多),那么我处理该公交线路的 class 的 URL 映射得写几万个(全国公交线路有很多)。那么我想问一下有什么可行的方案来避免自己手动写这么多个 URL 映射。
查看完整描述

6 回答

?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

干嘛写100个映射呢,这个不可以用一个servlet中接收个城市变量,来根据变量来判断不同城市进行不同输出么
servlet?city=beijing
servlet?city=shanghai
如果你嫌url丑,也可以Urlrewrite。。。

查看完整回答
反对 回复 2019-04-18
?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

servlet估计已经没人用了吧,先别着急写,学学mvc吧,比如springMVC,然后走个restful风格接口就行


查看完整回答
反对 回复 2019-04-18
?
叮当猫咪

TA贡献1776条经验 获得超12个赞

看看spring mvc的dispatcherServlet是如何分发请求的,可以动态的把不同的url分发到不同的java类上或者同一个java类的不同的方法,比如1楼说的也是一种办法.


查看完整回答
反对 回复 2019-04-18
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

这个是rest API没做到。
最基本的资源抽象没做到,就是区分不同资源设计不同的URL,明显你这个城市就应该被抽象为 /path/{city}
题外话,最好的rest api 设计应该是满足一下三条
1.资源抽象 
2.方法隔离
3.超文本驱动

查看完整回答
反对 回复 2019-04-18
?
狐的传说

TA贡献1804条经验 获得超3个赞

根据不同的参数,匹配不同的类,或者匹配同一个类 中的不同方法,可以使用springMVC中的分发请求的方法,使用restful接口风格,可以实现的。


查看完整回答
反对 回复 2019-04-18
  • 6 回答
  • 0 关注
  • 502 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信