エラーの説明
このエラーの主な原因は、@Controller アノテーションで登録されたクラスのインスタンスを IOC コンテナにスキャンできないことであるため、以下の観点から分析できます。
- MVC 構成ファイル内: コンポーネントスキャンタグのスキャンパッケージパスが正しいかどうか、および @Controller アノテーションが誤って除外されているかどうか
- コントローラークラスのヘッダー宣言のアノテーションが org.springframework.stereotype.Controller パッケージの内容であるかどうか
- <mvc:annotation-config /> の代わりに <mvc:annotation-driven /> タグを使用して、MVC で共通のアノテーションを自動的に宣言します
上記の問題の解析が完了したら、再度テストしてください。それでも 404 が発生する場合は、以下の問題を確認してください。
現時点では、問題はスキャンの問題ではなく、@RequestMapping パスの問題である可能性があります。パスが正しいかどうかを確認してください。
上記の内容を踏まえると問題は解決するはずですが、それでもマッピングできない場合は、web.xml設定ファイルのspringmvc設定ファイルの読み込みとフロントコントローラの読み込みタイミングが適切か確認してください。
<!-- 配置前端控制器 -->
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 当前端控制器加载时要加载springMVC配置文件 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring.xml</param-value>
</init-param>
<!-- 让前端控制器Servlet在项目启动加载阶段就进行实例 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
みなさん、ありがとうございます、気に入っていただけましたら、高評価とサポートをよろしくお願いします。これからも Java フルスタック開発コースのコンテンツを公開していきますので、みなさん〜 kowtow