2016-04-19 11 views
0

たとえば、私はデータベースに多くの都市バスラインを持っています。そして、cityBus.jspというページを書いて、どの都市にどのバスがあるのか​​を表示しました。したがって、私は都市と同じくらい多くのURLマッピングを記述する必要があります。以下を参照してください:手で書くには多すぎるJava URLマッピングを処理する方法

<servlet> 
    <servlet-name>cityBusServlet</servlet-name> 
    <servlet-class>com.jiaotong.LoginServlet</servlet-class> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>cityBusServlet</servlet-name> 
    <url-pattern>/Chicago</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>/Paris</url-pattern> 
    </servlet-mapping> 

のように...

を手ですべての都市のマッピングを書くには、私のテザーを超えていない場合は、すべての都市のバス路線の情報を持つページを作成し、そのURLマッピングを記述することは不可能です。異なる都市のバスラインが多すぎるので。

このURLマッピングを手作業で書くことを避ける方法であるかどうかを知りたいと思います。

答えて

1

jax-rsの実装またはスプリングを使用してください。

サーブレットマッピングファイルで特定のURLをJavaクラスにマップする必要はありません。

あなたはクラスそのものに含まれます。

1

「都市名」のURLパターンを1つのサーブレットにマップすると仮定すると、「*」を使ったワイルドカードマッピングを使用してこれを実現できます。

<servlet-mapping id="..."> 
    <servlet-name>cityBusServlet</servlet-name> 
    <url-pattern>/citybus/*</url-pattern> 
</servlet-mapping> 

(実際と '/ citybus/justaboutanything')/ citybus /シカゴおよび/ citybus /パリに一致します。たとえば。私がルートから離れてワイルドカードをしないようにして、 'citybus'パターンだけを分離できるようにすることをお勧めします。これにより、後で '/ citytrain/*'を追加して、電車の時刻表の別のサーブレットにマップすることができます。

ただし、あなたの都市から別のサーブレットをマップしたいのであれば(あなたの例から読むことができるかもしれないので)、別のアプローチを試してみるといいでしょうあなたが前進するように自分自身のために人生を大変にしているからです。

関連する問題