2012-04-10 14 views
1

私はSpring MVC RequestMappingに問題があります。私は、誰かが私にどのように進めるかについて助言を与えることを望んでいます。Spring MVCリクエストマッピング混乱

私はレガシークライアントがアクセスするサーバーで作業しています。クライアントは単純な要求(下記参照)を送信しますが、新しいサーバーを収容するために何らかの方法で変更することはできません。クライアントが送信

取得またはフォーム/dbintf?コマンド= GETINFOの投稿、acctNum =サーバーがdbintfと呼ばれる111 、それは単純なテキスト応答を返します。

コマンドごとにSpringコントローラを作成し、コマンドパラメータに基づいたパラメータマッピング を使用して、単一のコントローラメソッドに注釈を付けたいとします。したがって、GETINFOControllerのマッピングは次のようになります。

@RequestMapping(params="command=GETINFO") 
public String serviceRequest(.... 

しかし、私はこれを動作させることはできません。サービスの詳細は次のとおりです。

web.xmlでサーブレット・マッピング:INTF-servlet.xmlで

<servlet-mapping> 
    <servlet-name>dbintf</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

注釈スキャンディレクティブ

<context:component-scan base-package="com.intf.controller" /> 
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/> 
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/> 

私はこのスキームを取得しようとするものの様々な組み合わせを試してきましたこれを沸騰させようとすると 試行錯誤が2つの例になる:

これは動作しません。応答は: "要求されたリソース()は利用できません。"

@RequestMapping(params="command=GETINFO") 
public class TESTController { 
    @RequestMapping(method = RequestMethod.GET) 
    public String serviceRequest 

私は別のレベルを追加するためのURLを変更する場合:?/ dbintf /テストコマンド= GETINFO、acctNum = 111 私はハンドラメソッドの注釈にURLパターンを追加する場合、それは動作します。

@RequestMapping(params="command=GETINFO") 
public class TESTController { 
    @RequestMapping(value="/test",method = RequestMethod.GET) 
    public String serviceRequest 

これは、私は、パラメータマッピングだけでは機能しないと考えています。 URL パターンはマッピングスキームの一部である必要があります。しかし、私の場合、 URLパターンは利用できません。クライアントリクエストURLはdbintf?....のように固定されています。 私の質問:パターンに関連して ではなく、パラメータベースのマッピングだけを使用することは可能ですか?もしそうなら、私は何が欠けていますか?任意のヘルプやアドバイスを事前に

おかげで、 beeky

答えて

0

あなたは「/ dbintf」にあなたのコントローラのマッピングされている場合、私はあなたの設定では表示されないのですか? "/ dbintf"ではなく "/"にマップされたDispatcherServlet( "dbintf"サーブレットはDispatcherServletであると仮定します)を持っています。コンテナの "/"に相対して "/ dbintf"で利用できるようにwebappを配備していますか?私はあなたが@ RequestMappingのいくつかの設定を追加する必要があるかもしれないと思っています。

@RequestMapping(value="/dbintf", params="command=GETINFO")