SpringMVC no URL paths identified 404
2439 ワード
何気なく巨牛の人工知能のチュートリアルを見つけて、思わず共有してあげました.教程は基礎がゼロで、分かりやすくて、しかもとても面白くてユーモアがあって、小説を読むようです!すごいと思って、みんなに分かち合いました.ここをクリックしてチュートリアルにジャンプします.
SpringMVCの起動には次のようなヒントが表示されます.
正常な要求doはバックグラウンドに次のようなヒントが表示されます.
同時にブラウザは404を表示して、このような問題は簡単に調べることができなくて、tomcatあるいはjettyが起動する時いかなる異常な情報が現れないため、ここではこのような問題が発生する1つの情況だけを提供して、ネット上で関連する問題の説明があって、しかしすべて私が出会った情況ではありません.問題の原因と解決方法を以下に説明する.
問題の原因
Spring-mvc.xmlに次の構成を追加しました.
その構成は次のように説明されています(ネットワークから).
解決策:
方法1、MVC:resourcesを直接注釈して、このように資源はサービスを通じてロードした後にしかユーザーに展示できない(使用を推奨しない)
方法2、配置を加える、
spring-mvcを構成する.xmlファイルには、注釈をスキャンする方法が3つあります(ネットワークに整理されています)
D e f a u l t AnnotationHandlerMappingとAnnotationMethodHandlerAdapterの2つのbeanを登録し、いくつかのmessageconverterを構成することに相当します.@Controller注記の使用前提設定が解決しました.1)SpringコンテナにA u t o w i r e d AnnotationBeanPostProcessor、C o m o n A n o t i o tionBeanPostProcessor、P e r s i s t e n c e AnnotationBeanPostProcessorおよびequiredAnnotationBeanPostProcessorの4つのBeanPostProcessorを暗黙的に登録する.プロファイルで使用する前に、要素にcontextネーミングスペースを宣言する必要があります.2)はパッケージをスキャンし,注釈駆動Bean定義を実現するとともにbeanをコンテナに自動的に注入して使用する.すなわち@Controllerが識別するクラスのbeanの注入と使用を解決する.コンフィギュレーション・アイテムは、クラス・パッケージをスキャンしてアノテーション駆動Bean定義を実装する機能を有効にするとともに、アノテーション駆動オートインジェクションの機能も有効にする(すなわち、A u t o w i r e d AnnotationBeanPostProcessorとCommonAnnotationBeanPostProcessorが内部に暗黙的に登録されている)ため、使用後、P e r s i s t e n c e N o n t i o n t i o n BeanPostProcessorとe q u i r e d n o t i o n BeanPostProcessorの2つのProcessorの機能(JPAなど)を使用する必要がない限り、削除できます.
これで、問題、解決策、関連知識の整理が完了しました.
SpringMVCの起動には次のようなヒントが表示されます.
[org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping]-[86]-[DEBUG]Rejected bean name 'authController': no URL paths identified
正常な要求doはバックグラウンドに次のようなヒントが表示されます.
No mapping found for HTTP request with URI [/auth/login.htm] in DispatcherServlet with name 'springMvc'
同時にブラウザは404を表示して、このような問題は簡単に調べることができなくて、tomcatあるいはjettyが起動する時いかなる異常な情報が現れないため、ここではこのような問題が発生する1つの情況だけを提供して、ネット上で関連する問題の説明があって、しかしすべて私が出会った情況ではありません.問題の原因と解決方法を以下に説明する.
問題の原因
Spring-mvc.xmlに次の構成を追加しました.
その構成は次のように説明されています(ネットワークから).
, , WEB-INF 、 , JavaScript JAR 。 location , location Resources , "classpath:" 。 Web Web , 。
, Page Speed、YSlow 。 cacheSeconds , , 。 , Expires Cache-Control 。
解決策:
方法1、MVC:resourcesを直接注釈して、このように資源はサービスを通じてロードした後にしかユーザーに展示できない(使用を推奨しない)
方法2、配置を加える、
spring-mvcを構成する.xmlファイルには、注釈をスキャンする方法が3つあります(ネットワークに整理されています)
D e f a u l t AnnotationHandlerMappingとAnnotationMethodHandlerAdapterの2つのbeanを登録し、いくつかのmessageconverterを構成することに相当します.@Controller注記の使用前提設定が解決しました.1)SpringコンテナにA u t o w i r e d AnnotationBeanPostProcessor、C o m o n A n o t i o tionBeanPostProcessor、P e r s i s t e n c e AnnotationBeanPostProcessorおよびequiredAnnotationBeanPostProcessorの4つのBeanPostProcessorを暗黙的に登録する.プロファイルで使用する前に、要素にcontextネーミングスペースを宣言する必要があります.2)はパッケージをスキャンし,注釈駆動Bean定義を実現するとともにbeanをコンテナに自動的に注入して使用する.すなわち@Controllerが識別するクラスのbeanの注入と使用を解決する.コンフィギュレーション・アイテムは、クラス・パッケージをスキャンしてアノテーション駆動Bean定義を実装する機能を有効にするとともに、アノテーション駆動オートインジェクションの機能も有効にする(すなわち、A u t o w i r e d AnnotationBeanPostProcessorとCommonAnnotationBeanPostProcessorが内部に暗黙的に登録されている)ため、使用後、P e r s i s t e n c e N o n t i o n t i o n BeanPostProcessorとe q u i r e d n o t i o n BeanPostProcessorの2つのProcessorの機能(JPAなど)を使用する必要がない限り、削除できます.
これで、問題、解決策、関連知識の整理が完了しました.