0

コントローラー メソッドへのマッピングが機能していません。に行くとhttp://localhost:8080/teleseminars/telesem_live404 が返され、これがログに表示されます。

[/ 「dispatcher」という名前の DispatcherServlet 内の teleseminars/telesem_live]

どんな助けでも大歓迎です。ありがとう!

コントローラーは次のとおりです。

@Controller
public class TeleseminarsController {

    private final Logger logger = LoggerFactory.getLogger(getClass());

    @RequestMapping(value= "/teleseminars/{page}/{series}", method = RequestMethod.GET) ///{page}/{series}
    public String getTele(@PathVariable("page") String page,
            @PathVariable("series") String series,
            HttpServletRequest request,
            final Model model) {

                //do stuff

            return page;
    }
}

私はこれをweb.xmlに持っています

<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>*.do</url-pattern>
    <url-pattern>/teleseminars/*</url-pattern>
</servlet-mapping>
4

3 に答える 3

2

あなたservlet-mappingが持っているのはその部分を食べます。コントローラーで を に変更する必要がある場合があり@RequestMappingます@RequestMapping(value= "/{page}/{series}", method = RequestMethod.GET)。私もその問題を抱えていました。

于 2012-10-30T22:15:36.743 に答える
0

2 つのパス変数をマッピングしているため、一致しますhttp://localhost:8080/teleseminars/telesem_live/fooが、一致http://localhost:8080/teleseminars/telesem_liveしません。

于 2012-10-30T20:04:05.993 に答える
0

context.xml で次の行が使用可能であることを確認してください。

 <context:component-scan base-package="com.yourapp.controller" />

Spring 3以降では、「自動コンポーネントスキャン」(コントローラー用)を有効にし、「ビューリゾルバー」を手動で宣言する必要があります.私も以前にこの問題を経験しました.

于 2012-10-30T21:54:56.537 に答える