DefaultAnnotationHandlerMappingの動作について混乱します。私はDefaultAnnotationHandlerMappingのしくみ
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/somePath/someWork</url-pattern>
<url-pattern>/users</url-pattern>
<url-pattern>/user/*</url-pattern>
</servlet-mapping>
を持っている私のweb.xmlに
私は、このようなコントローラを持って
@RequestMapping(value="/user/adduser", method={RequestMethod.POST})
public void addAdmin(@ModelAttribute("myData") myData data) {
System.out.println("We reached adduser controller");
}
およびJSPファイルで私は、これは動作しません
<form:form id="adduser" method="post" action="/user/adduser" commandName="myData">
を持っています。私はそれが動作、またはI場合
<url-pattern>/user/adduser</url-pattern>
に言及している場合私は、ハンドラマッピングが「/ adduserの」および404ページのための「/ユーザ/ adduserの」
のためではなく、.xmlファイルに見つからないエラーが発生します
@RequestMapping(value="/adduser", method={RequestMethod.POST})
も同様です。ページを送信するときに、正しいコントローラに到達します。
@ReuqestMappingが動作する方法が混乱しています。リクエストが "/ user/adduser"のように来たら、正しいクラスと正しい方法を探し始めるでしょうか?
感謝。これは私に洞察を与えます。別の関連する質問。プロダクション環境では、人々は実際に * .do url-pattern>のようなマッピングを行いますか?私はこのような実際の例は見ていない。 –
kalyan
@kalyan: '* .do'はStrutsの悪い昔からの二日酔いです。あなたはまだ "実際の"ウェブサイトでそれを見ることができます。 – skaffman