2

学習目的で SpringMVC を使用して簡単なアプリケーションを作成しようとしています。この形式でさまざまなアクションの URL を取得したい

http://localhost:8080/appname/controllername/actionname.html

DispatcherServlet の servlet-mapping 内で指定された url-pattern は次のとおりです。

<url-pattern>*.html</url-pattern>

これは、ContactController の私のメソッドの 1 つです。

@RequestMapping("list.html")
public ModelAndView showContacts() {        
    ModelAndView modelandview = new ModelAndView("list"); 

    modelandview.addObject("message","Your contact book");

    return modelandview;
}

に移動すると、すべてが正常に機能するようになりました。

http://localhost:8080/appname/list.html

ただし、URLを次のようにしたいのですが、

http://localhost:8080/appname/contact/list.html

メソッドの上で使用してみ@RequestMapping("/contact/list.html")ましたが、役に立ちません (要求されたリソース () が利用できないという説明とともに 404 エラーが表示されます)。

これはどのように行うことができますか?

また、サーブレット マッピング用に複数の URL パターンを使用することは可能ですか。*.html or *.do?

PS。Ubuntu デスクトップで apache-tomcat を使用しています

ありがとう

4

3 に答える 3

1

追加

@RequestMapping("/controllername")

クラス宣言前。

于 2011-02-10T14:38:47.877 に答える
0

ところで、さらに単純化することができます!

This is easily remedied by using an XML-configured strategy for matching URI paths to controller classes and @RequestMapping annotations for method-level mapping only.

詳細については、http://www.infoq.com/articles/spring-2.5-ii-spring-mvcRemoving Class-Level Request Mappingsの章を参照してください。

于 2011-03-06T16:32:22.953 に答える
0

これを試しましたか?

@RequestMapping("/contact")
public class ContactController
{
  @RequestMapping("/list.html")
  public ModelAndView showContacts()
  {
    // ...
  }
}

また、@RequestMapping文字列の配列を受け入れて、複数のマッピングを許可します。

于 2011-02-10T14:31:43.527 に答える