問題タブ [spring-web]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
726 参照

spring - 高度な Restclient ソケット実装が Spring Websocket に接続できない

Spring Stomp と socketjs を使用してチャット アプリケーションを開発しました。クライアント経由で websocket に正常に接続できましたが、高度な Restclient -> ソケット実装を使用して websocket に接続できません。

なんで?

ありがとう

0 投票する
1 に答える
1363 参照

java - Spring RestTemplate + XML の結果を Domain オブジェクトにマップする

Spring RestTemplate を使用して、次の XML 結果をドメイン オブジェクトにマップするにはどうすればよいですか? 解決策として、次のドメイン クラスを設計しましたが、これらの値 (例: 100、200、300) をドメイン オブジェクト プロパティにマップするにはどうすればよいか疑問に思っています。ありがとう。

XML 結果

ドメイン クラス

0 投票する
1 に答える
210 参照

spring - Arquillian、Spring WebApplicationInitializer、組み込み Tomcat

Web アプリケーションの REST リソースの単体 (コンポーネント) テストを作成したいと考えています。このテストでは、公開された REST インターフェイスを対象とし、リクエストを発行してレスポンスをチェックすることでその動作をテストする必要があります。

Web アプリケーションは、Spring の を使用web.xmlせずに、または使用して構成されます。(Tomcat)サーバーでアプリケーションを実行するだけで、これはうまく機能します。applicationContext.xmlWebApplicationInitializer

Arquillian テストを開始すると、ShrinkWrap アーカイブが組み込みの Tomcat サーバーにデプロイされます。組み込みサーバーは Web アプリケーションのクラスパスで実行されるため、クラスも検出されますWebApplicationInitializer。これは多くの依存関係をロードするため問題があり、テストのためにアクティブ化する必要があります。

WebApplicationInitializerテストで無効にする (および代替の実装を提供する) にはどうすればよいですか?

XML 構成ファイルを使用する場合、これは実際の構成ファイルを非表示にし、テストで使用される特定の (空の?) 構成を使用することに対応します。

0 投票する
2 に答える
17715 参照

spring - Spring-Boot / Security で @AuthenticationPrincipal をヌルにする

参照ドキュメントに従って Spring Security アプリケーションをセットアップしましたが、何時間ものトラブルシューティングを行った後も、引き続き null @AuthenticationPrincipalがコントローラーに渡されます。

認証メカニズムは、データベース内のユーザーに対して正常に機能していますが、まだ @AuthenticationPrincipal が null です。thisthisを含むいくつかのインターネット投稿を調べましたが、それでも null になります。

Spring-Boot 1.2.2 と Spring Security 3.2.6 を使用しています。

関連するPOM:

応用:

WebSecurityConfigurerAdapter:

ユーザー詳細サービス:

コントローラ:

関連する Maven 依存関係ツリー:

0 投票する
3 に答える
1538 参照

java - RestTemplate にオブジェクトを設定できません

リクエストを送信してレスポンスを受信する次のコードがあります。すべてが構成されているようですが、コードが返されていNullPointerExceptionます。

何が足りないのかわかりません。正しい URL アドレスを持つ readyURL 変数を出力しました。stackTrace はあまり提供しません。

コード

例外

サンプル結果

アップデート

このコードを restTemplate.getForObject 行の直後に追加しましたが、コンソールには何も表示されません。

0 投票する
0 に答える
542 参照

java - 高負荷時の ConcurrentModificationException - Spring Web REST

残りのサービスで負荷テストを実行すると、各リクエストにランダムな xml コンテンツが含まれ、次の例外が発生することがあります。負荷が高いほど発生しやすいようです。

xml を java オブジェクトに非整列化するための Spring の現在の実装は、スレッドセーフではないようです?

13:23:38,314 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/fault-code-translation].[SpringApplication]] (http-/0.0.0.0: 14080-36) JBWEB000236: サーブレット SpringApplication の Servlet.service() が例外をスローしました: java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901) [rt.jar:1.8.0_31] at java .util.ArrayList$Itr.next(ArrayList.java:851) [rt.jar:1.8.0_31] com.sun.xml.bind.v2.runtime.reflect.Lister$CollectionLister$1.next(Lister.java: 288) com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(ArrayElementProperty.java:139) com.sun.xml.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java: 159) com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:358) com.com.sun.xml の com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot(ClassBeanInfoImpl.java:340) の sun.xml.bind.v2.runtime.XMLSerializer.childAsSoleContent(XMLSerializer.java:593)。 bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:494) com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:323) com.sun.xml.bind.v2. runtime.MarshallerImpl.marshal(MarshallerImpl.java:251) at org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter.writeToResult(Jaxb2RootElementHttpMessageConverter.java:181) [spring-web-4.1.7.RELEASE.jar:4.1.7. RELEASE] at org.springframework.http.converter.xml.AbstractXmlHttpMessageConverter.writeInternal(AbstractXmlHttpMessageConverter.java:66) [spring-web-4.1.7.RELEASE.jar:4.1.7.RELEASE] at org.springframework.http.converter .AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:208) [spring-web-4.1.7.RELEASE.jar:4.1.7.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor. java:161) [spring-webmvc-4.1.7.RELEASE.jar:4.1.7.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:101) [spring -webmvc-4.1.7.RELEASE.jar:4.1.7.RELEASE]161) [spring-webmvc-4.1.7.RELEASE.jar:4.1.7.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:101) [spring-webmvc -4.1.7.RELEASE.jar:4.1.7.RELEASE]161) [spring-webmvc-4.1.7.RELEASE.jar:4.1.7.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:101) [spring-webmvc -4.1.7.RELEASE.jar:4.1.7.RELEASE]

実装

実装コードが実行される前に例外が発生し、Spring コード内で発生します。

0 投票する
1 に答える
2222 参照

spring-security - 構成されたサーブレットパスが REST コントローラーによって正しく使用されるのに、Spring Security 機能では無視されるのはなぜですか?

私はSpringが初めてで、Spring BootとSpring Securityを使用して安全な残りのアプリケーションを作成しようとしています. 私は今、解決策を何週間も探しています...

私は、Spring Boots 組み込み Web コンテナー (Tomcat) と spring-boot-starter-parent 1.2.6.RELEASE を pom で使用しています。

私のエンドポイント:

  • /login(認証するため)
  • /application/{id}(確保したいサービス)

次のように、application.properties でサーブレット パスを構成しました。

だから私は私のサービスを期待しています//localhost/embedded/login

わかりましたので問題です。セキュリティなしでアプリケーションを実行すると、すべて問題なく、http://localhost/embedded/application を呼び出して回答を得ることができます。次のようにセキュリティ構成を追加するとします。

アプリケーションを実行すると、//localhost/application/{id} が保護され、//localhost/embedded/application/{id} の代わりに保護されます。何らかの理由で、サーブレットのパスはそこで無視されます。「わかりましたので、サーブレットパスを手動で追加するだけです」と言って、次のようにします。

これは私のアプリケーションで機能します。ただし、MockMvc を使用してサービスをテストすると、何らかの理由でサーブレット パスがマッチャーに正しく追加されます。したがって、テストを開始すると//localhost/embedded/embedded/application/{id}、コントローラー自体がまだマップされている間にセキュリティフィルターがマップされますが、//localhost/embedded/application/{id}これは非常に面倒です...ここでhttp://spring.io/blog/2013/07/03/spring -security-java-config-preview-web-security/AbstractSecurityWebApplicationInitializerの代わりに使用することで問題を解決できると考えましSpringBootServletInitializerたが、何も変わりませんでした。ちなみに、これは私のアプリケーションクラスです:

私が思うに、これ以上興味深い情報は含まれapplication.propertiesていません。完全にするために、これは私の MockMvc テスト クラスです。

多分私は何かを誤解しました。教えていただければ幸いです。

0 投票する
1 に答える
131 参照

java - ServletContextListener を既存の @Service に追加するには?

ServletContextListenerインターフェイスを追加したい既存のクラスがあります。

これはうまくいきます。しかし、 を追加するとすぐにpublic class MyService implements ServletContextListener、 で次のエラーが発生しMyControllerます。

org.springframework.beans.factory.BeanCreationException: Could not autowire field: private service. No qualifying bean of type [MyService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}.

アプリケーションはTomcat. 私の目標は@Override public void contextDestroyed()、Tomcat のシャットダウン時に、この特定のサービス内のいくつかのリソースをクリーンアップすることです。

ここで何が問題なのですか?