問題タブ [httpsession]

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 に答える
1767 参照

unit-testing - GWT アプリの単体テスト時にコンテナー提供のオブジェクト (HttpSession など) をモックするにはどうすればよいですか?

現在、GWT アプリでサービス層 (すべての *Impl.java クラス) を単体テストしようとしています。問題は、コード内に、Httpsession によって提供されるオブジェクトを対象とする依存関係があることです。実際には、User オブジェクト (現在ログインしているユーザー) を httpSession に格納しています。

HttpSession (*Impl.java クラス) からそれを取得するために、私はこれを使用しています:

ユーザー user = ServiceUtil.getUser(getThreadLocalRequest().getSession());

単体テスト コードからこのオブジェクトをモックするにはどうすればよいですか?

どうもありがとう、

0 投票する
4 に答える
29738 参照

java - サーブレット/jspでデータベースからデータを表示する方法

jsp から車のリストを表示しようとしています。しかし、実行時に何も表示されない理由がわかりません:

サーブレット コード:

JSP コード:

私は何かが欠けていますか?理解できません。サーブレットを実行すると、jsp ページに車両のリストが表示されます。

私は休止状態 (正常に動作し、データベースに完全にアクセスする) を使用し、MVC モデルを使用しています。

ここに私のフォームがあります:

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

java - HTTPSession 参照がまだ有効かどうかをエレガントにチェックする

確立されたすべての HTTPSession オブジェクトをハッシュマップに保存しています。メッセージをキューに入れる前に HTTPSession がまだ有効かどうかを判断する方法はありますか?

例: ハッシュマップを繰り返し処理している場合、有効な HTTPSession オブジェクトのメッセージのみをキューに入れたいとします。

アップデート

誰かが興味を持っている場合は、gwt-comet を使用してこのロジックが必要でした。(Tomasz Nurkiewicz が指摘したように) 解決策は、このページの下部にあります。

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

gwt - Guiceを使用してGWTのサービス層(DAO)クラスにHttpSessionオブジェクトを@Injectする方法は?

私の GWT アプリにはこのような汚いコードがあり、私のサービス層のクラスのいくつかはHttpSessionオブジェクトに依存しています。たとえば、私の DAO の 1 つ (GWT-RPC エンドポイント) には、次のようなものがあります。

問題は、現在 RequestFactory を使用するようにコードを移行していることです。私の DAO は GWT-RPC エンドポイントではなくなります。そのため、RemoteServiceServlet を拡張する必要はありません ...

クラスが RemoteServiceServlet を拡張していないことを知って、HttpSession オブジェクトへの依存関係を(おそらくGuiceを使用して) 取得/注入する方法を知っていますか?

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

java - GAE/J でのユーザー要求処理のシリアル化ごとの保証

Google appengine のデフォルト モードでは、各インスタンスがシングル スレッド モードで実行されます。必要に応じて、新しい JVM インスタンスを生成することにより、同時要求を処理します。

ただし、新しいスイッチにより、appengine は同じインスタンスで複数のリクエストを並行して処理できます。

同じユーザーのリクエスト間でスレッドの安全性を確保するために、定期的にホストされている Java Web アプリケーションでこれまで行ってきたことは、http セッション (またはセッションに格納された値) で同期することでした。Spring もそれを行います (synchronizeOnSessionフラグを使用)。

これは、GAE では不可能です。なぜなら、HttpSession は (保存されているすべての変数と共に) 各 http 要求で常に新しいからです。つまり、ハッシュコードは常に異なります。そのため、同期しても何の効果もありません。ただし、これが可能であったとしても、appengine は、同じユーザーからの 2 つのリクエストが同じインスタンス (スティッキー セッションなど) によって処理されることを保証しません。

appengine の新しいフラグは、次のことを警告します。

同時リクエストを使用する場合は、有効にする前に、アプリケーション コードで適切なスレッド同期を使用する必要があります。

では、同じユーザーからの操作に関してアプリケーションがスレッド セーフであることを確認するにはどうすればよいでしょうか? 私は主に、ユーザーが http セッションに存在するデータに対して実行できるアクションに関心があります。私は明らかに、同じインスタンスで同じユーザーのリクエストを同期することだけに関心があります。

ありがとう

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

spring - Spring セキュリティの同時セッションと HttpSessionListener の問題

HttpSessionListener を実装しましたが、ログインしているユーザーが同時に 2 回目にログインする場合を除いて、正常に動作します。Spring は最初のセッションを正しく終了しますが、destroySession イベントは発生しません。少なくとも私のリスナーはそれを取得しません。

私の春のセキュリティは次のとおりです。

上記は、2 回目に同時にログインした場合、最初のセッションからユーザーをログアウトしますが、HttpSessionListener.sessionDestroyed は呼び出されません。

HttpSessionListener.sessionDestroyed は、通常、手動ログアウトとセッション タイムアウトのために呼び出されます。

web.xml にリスナー用の「委任プロキシ」があります: com.test.security.DelegatingHttpSessionEventListenerProxy

このリスナーは、my-servlet.xml で次のように定義された spring-bean に委譲します。

委任リスナーは次のようにコーディングされます。

私は spring-security-3.0.5 を使用しています。何が欠けているのか誰か教えてください。ありがとうございました。

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

c++ - Poco C++HTTPSessionFactoryの使用方法

HTTPとHTTPSの両方を処理するようにHTTPSessionFactoryを設定するための最良の最も簡単な方法はどのようになっていますか?HTTPSessionInstantiatorsを使用する必要があることはわかっていますが、短くて甘い例を実際に使用できます。ありがとう。

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

multithreading - Spring Security: 複数の ThreadLocals で同じ SecurityContext-instance が使用されていますが、これはどのように機能しますか?

Spring Security 3.0.5 と SecurityContext についていくつか質問があります。まず第一に、私が知っていることを結論付けようとします:

  • SecurityContextHolder は SecurityContext を格納します
  • リクエスト間、SecurityContext は HttpSession に格納されます
  • リクエストの開始: SecurityContextHolder は HttpSession から SecurityContext を取得します
  • リクエストの終わり: SecurityContextHolder は SecurityContext を HttpSession に入れます

  • リクエスト中、サーバー上で、SecurityContextHolder は ThreadLocal を使用します。アプリケーション (同じ要求) のどこでも、SecurityContext にアクセスできます。

今私の質問....

--> 2 つの要求: SecurityContext インスタンスが共有されます

これはどのように作動しますか?つまり、SecurityContextHolder はリクエストごとに ThreadLocal を使用します。2 リクエスト = 2 ThreadLocals

各リクエストは次のことを行います: HttpSession からの getSessionAttribute (SecurityContext) それらが SecurityContext で機能するとどうなりますか? SecurityContext はすべての ThreadLocals で変更されていますか?

私の知る限り:はい(??)

これはどのように作動しますか?同じインスタンスでどのように作業できますか? つまり、2 つの異なる ThreadLocals を持つ 2 つの異なるスレッドが同じインスタンスでどのように機能するのか想像できませんか?

API (ThreadLocal): このクラスはスレッドローカル変数を提供します。これらの変数は、(get メソッドまたは set メソッドを介して) アクセスする各スレッドが独自の、独立して初期化された変数のコピーを持っているという点で、通常の変数とは異なります。

つまり、それだけです:コピー!多分私は間違っていて、2 つのスレッドが同じ SecurityContext で動作することはできないのでしょうか? しかし、Spring Security Documentation はそう言っています!

誰かが私にそれを説明できれば素晴らしいでしょう:-)ありがとう!

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

grails - Grails の httpSession

現在のセッションのドメイン クラス User にアクセスする必要があります。次のコードが機能します。

しかし、ID が 1 のユーザーを明示的に取得する (User.get(1)) 代わりに、現在のセッションのユーザーにアクセスする必要があります。次のコードを試しましたが、うまくいきません。

私はまだ httpSession の概念を完全に理解するのに苦労しているので、少し助けていただければ幸いです。少し早いですがお礼を。

アップデート

私の UserController では、認証は次のようになります。

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

java - HttpSessionは属性を参照または値で保存しますか?

サーバー アプリケーションで HttpSession を使用しています。セッション セットの属性についても同様です。次の私の質問: セッション セットの属性の方法 - 参照または値による。

Java ヒープ領域の例外と RAM の節約ができない理由を恐れて質問します。

例: ステートレスarray1を作成し、これをさまざまなセッションの属性として設定するとします。この場合、すべてのセッションはarray1「シングルトン」インスタンスとして機能するか、そうでない可能性があります

ありがとう!