問題タブ [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.
spring-mvc - Spring Web サービスでのルート要素アンマーシャリングでの SAXException
次のマッピングを持つSpringを使用した安らかなWebサービスがあります。
連絡先クラス:
連絡先クラス:
curl から xml 形式で GET を処理すると、次の出力が表示されます。
Maven の依存関係 (Web とクライアント アプリで同じ):
次に、(クライアントアプリケーションで)Javaオブジェクトを取得しようとすると、org.springframework.web.client.RestTemplate
次の例外があります:
私のマッピングファイルに何か問題があると思います。ご覧のとおり、マッピング ファイルにも 3 つの連絡先タグがありますが、他の名前があります。この例外/間違った xml 形式の理由を知っている人はいますか?
spring - Spring Session Redis と Spring Security ユーザーセッションを更新する方法は?
Spring Boot、Spring Secuirity、Spring Session (redis) を使用して、Spring REST Web アプリケーションを構築しています。spring cloud と zuul プロキシを使用して、ゲートウェイ パターンに従ってクラウド アプリケーションを構築しています。このパターンでは、Spring セッションを使用して HttpSesssion を redis で管理し、それを使用してリソース サーバーでリクエストを承認しています。セッションの権限を変更する操作が実行されたときに、そのオブジェクトを更新して、更新を反映するためにユーザーがログアウトする必要がないようにしたいと考えています。誰かがこれに対する解決策を持っていますか?
java - テーブルの作成後に SQLite ファイルが更新されない
わかりました、これが状況です。特定のsqlite dbファイルにテーブルが存在するかどうかを確認した別のプロジェクトのコードを再利用しました。そうでない場合は、テーブルを作成します。
その時点でコードは機能し、ファイルに大きな変更を加えていないため、ファイルにデータが書き込まれていないことに混乱しています。
コードを実行する前に、src/main/resources に example.db という名前の空のデータベース ファイルを作成する必要がありました。
を使用して DBStuff オブジェクトを作成しました
checkDB が 2 回目に実行されたときにテーブルが見つかることを print ステートメントで確認しました (を出力してrs.getString(3)
)。
しかし、データベース ファイル (考えられるすべての場所、src/main/resources/example.db
、target/classes/example.db
および の warfile 内WEB-INF/classes/example.db
) を見ると、ファイルは更新されていません。これらすべての場所で、サイズはまだ 0 バイトです。
私は何を間違っていますか?これらのファイルにテーブルが書き込まれないのはなぜですか?
pomファイルでこれを使用する場合と使用しない場合の両方でコードを実行しました
java - PDF データの AngularJS POST が常に失敗する
PDF を生成するために、Internet Explorer の URL 制限を回避しようとしています (詳細については、この Microsoft サポート記事を参照してください)。
クライアント側のJSにPDFのバイトストリームを表すbase-64でエンコードされた文字列があります。Firefox と Chrome の場合、先頭に文字列を追加して PDF を表示するdata:application/pdf;base64,
と、ブラウザは問題なくデータ URI をレンダリングします。
Internet Explorer の場合、文字列を POST でサーブレットに送り返して、コンテンツ タイプが「application/pdf」のバイト ストリームを返すことができるようにしようとしています。クライアント側のリクエストで実際の PDF コンテンツを渡していることを除いて、次の質問で提案されているソリューションに従っています。
私の HTTP POST は次のようになります。
私のサーバーは Java spring-webmvc サービスを実行しています。Convert コントローラーは次のようになります。
コントローラーのコードは、この回答に基づいています。問題はないと思います。単体テストで問題なくテストでき、Swagger API インターフェースを介して POST リクエストを送信します。
問題はこれです。$http.post
IE でこれをトリガーすると、結果は常にエラー コールバックになり、常にHTTP 400 エラーになります。
私は次のことを観察しました:
IE 11 の開発者ツール ネットワーク トラフィック キャプチャを使用して、リクエストが行われていることを確認できます。リクエストには、base-64 でエンコードされた完全で正しい文字列が params に含まれており、これはリクエスト ボディにあります。
リクエスト ヘッダーは次のようになります。
- 応答ヘッダーには次のように表示されます。
応答本文に無効な PDF が含まれています。技術的には、開発者ツールはそれをレンダリングできないと言います。保存すると、保存される PDF は有効な PDF ではありません。
編集: Tomcat8 でログを記録したところ、Spring が要求に「base64pdf」パラメーターが欠落していると不平を言っていることがわかりました。
だから私は本当に2つの質問があります:
base64pdf
どのようにパラメータを失うのですか? パラメータなどに最大長はありますか?data: { base64pdf : pdf }
この質問に表示されているオリジナルと、以下のユーザー chenzhenjia によって提案されているように、パラメーターを経由して渡すことの両方を試しました。この PDF 呼び出しを IE で動作させるにはどうすればよいですか? 一方で、上記で何が間違っているのか知りたいのですが、率直に言って、クライアント側にあるこのbase-64でエンコードされた文字列をPDF. (つまり、これがXY 問題であり、間違ったツリーを鳴らしている場合は、それも知りたいです。)
私は使用しています:
- AngularJS 1.4.8
- 春 4.2.3.RELEASE
- Java 8
- トムキャット 8
spring-boot - Spring Cloud Security Oauth2 を使用して、単一の Spring ブートアプリケーションで複数の Oauth2 SSO サーバーを使用するにはどうすればよいですか?
Google または Facebook アカウントを使用して Spring Boot Web アプリケーションにログインするオプションをユーザーに提供したいと考えています。
このような SSO 機能を追加するために、 Spring Cloud Security のドキュメントとこの GitHub の問題も確認しましたが、どちらも 1 つの SSO サーバーを構成する方法しか示していないため、Google または Facebook のいずれかです。
両方のオプションを追加するにはどうすればよいですか? Web フロントエンドでは、各オプションにボタンを追加して、ユーザーが使用するアカウント (Google または Facebook) を選択できるようにします。
または、間違ったパッケージを選択しており、これを達成するためにまったく別のものを使用する必要がありますか?
ありがとう!