問題タブ [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 に答える
3151 参照

session - グレイルでは、現在のすべてのセッションへの参照を取得するにはどうすればよいですか?

管理コントローラーの現在のすべてのセッションをグラフで一覧表示したいと思います。コントローラーからセッションのコレクションなどへの参照を取得する最も簡単な方法は何ですか?

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

java - Java クラスからセッションにアクセスする方法

現在のユーザー セッションへの追加と読み取りを可能にする小さな Java クラスを作成する必要があります。

私が見ているものはすべてサーブレットを参照していますが、理想的には単純な古いクラスを使用したいと思っています。

誰かこの Java 初心者を助けてくれませんか?

ありがとう

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

.net - .NET で HttpContext.Current.Session の作成を強制する

私は、.NET の StaticFileHandler を使用して動的に生成されたコンテンツを提供するアプリケーションに取り組んでいます...現在の HttpSession を使用してユーザー固有のデータを格納するアプリケーションの別の部分もあります。

StaticFileHandler は静的ファイルを処理するように設計されているため、IRequiresSessionState を実装していません。したがって、アプリのその部分を通過するものは、アプリの残りの部分からのセッション固有のデータにアクセスできません。

StaticFileHandler は System.Web の内部にあるため、IRequiresSessionState も実装する独自のクラスに拡張することはできません。セッションがnullであることを検出したときに、セッションの作成を強制できる他の方法はありますか?

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

java - Webアプリケーション内のすべてのHttpSessionオブジェクトのリストを取得するにはどうすればよいですか?

0個以上の有効なHttpSessionオブジェクトが関連付けられた実行中のJavaベースのWebアプリケーションがあるとします。HttpSession有効なオブジェクトの現在のリストにアクセスする方法が必要です。を実装し、HttpSessionListenerそれを使用して、アプリケーションスコープの属性に格納されているセッションID値のリストに追加できると考えていましたが、セッションが無効になっているため、リストを更新することになりました。そうしないと。

独自のソリューションを作成する前に、次の質問をする必要があると思い
ました。サーブレットAPIは、無効化されていないセッションオブジェクトの完全なリストにアクセスするための何らかの手段を提供しますか?

WebアプリケーションコンテナとしてTomcat6.xを使用しており、MyFaces 1.2.x(JSF)ライブラリを使用しています。

解決
策私は、BalusCがこれらの既存の質問で説明したのと同様のアプローチに従いました。

SessionDataを実装するためにクラスごとに変更しましたHttpSessionBindingListener。バインディングイベントが発生すると、オブジェクトはすべてのオブジェクトのセットに自分自身を追加または削除しSessionDataます。

私を苛立たせ続けているのは、Tomcatを再起動したときに何が起こるかということです。セッションをディスクにシリアル化しないようにTomcatが適切に構成されていない限り、シリアル化されます。Tomcatが再起動すると、HttpSessionオブジェクト(およびSessionDataオブジェクトと一緒のオブジェクト)が逆シリアル化され、セッションが再び有効になります。ただし、シリアル化/逆シリアル化はリスナーイベントを完全に回避するため、再起動後に、逆シリアル化された参照を管理対象のオブジェクトセットに適切に戻すHttpSession機会がありません。SessionData

私は顧客の組織でTomcatの実稼働構成を制御できないため、期待どおりに実行されるとは想定できません。

HttpSession私の回避策は、リクエストを受信したときの作成時間とアプリケーションの起動時間を比較することです。アプリケーションの起動時間より前にセッションが作成された場合は、電話をかけるinvalidate()と、何が起こったかの説明が記載されたエラー/警告ページが表示されます。

を実装し、リスナーServletContextListenerのメソッド内からアプリケーションスコープのオブジェクト内に現在の時刻を格納することで、アプリケーションの起動時刻を取得します。contextInitialized()

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

java - JSF-セッションスコープのマネージドBeanには、セッションの逆シリアル化で再注入された依存関係がありません

自分がしていることが間違っているのか、それともどこかで注釈や構成アイテムを見逃しただけなのかわかりません。状況は次のとおりです。

。という名前のセッションスコープのBeanを使用するJSFアプリケーションがありますSessionData。このBeanには、作成時に(タイプの)アプリケーションスコープのBean参照がApplicationData注入されます。これは、セッションが最初に作成されたときに問題なく機能します。依存性注入は、次のようにファイル<managed-bean>内の要素を使用して行わfaces-config.xmlれます。

SessionDataシリアル化されたときにオブジェクトにオブジェクトを含めることは意味がないため、オブジェクトで参照を一時的なものとしてApplicationDataマークしました。 ApplicationDataSessionData

Webアプリケーションが(私のTomcat 6.xコンテナーで)停止され、セッションがシリアル化されるまで、すべて問題ありません。アプリケーションを再起動してセッションが逆シリアル化されると、への参照がApplicationDataJSFによって再注入されません。デシリアライズは値のない一時的なフィールドを残すことになっていることを私は知っています。このセッションスコープのオブジェクトでは、逆シリアル化後に依存関係を再度設定する必要があることをJSFに通知する方法はありますか?

MyFacesJSF1.2とTomcat6.0.26をWebアプリケーションコンテナとして使用しています。

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

jsp - Glassfish v3 + NetBeans + Simple Authentication Simulator:シリアル化に関連する例外が発生するのはなぜですか?

こんにちは、StackOverFlowの仲間です。JavaEnterpriseBeansやJavaPersistenceAPIなどのテクノロジを使用してWeb対応アプリケーションをプログラムする方法を学び始めたところです。

NetBeansの公式Webサイトでは、現在、(おそらく)上記のアプリケーションの開発を可能にするバンドルを提供しています。およそ213MBのサイズのバンドル。

これが取引です。Webサイトにログインするプロセスをシミュレートしたいとします。たとえば、Amazonにログインすると、セッションデータがブラウザに保存されます。これにより、「ようこそ、ミゲルマルティンス」、「ミゲルマルティンスのおすすめの購入」などを表示できます。 、 右?右。さて、これが私がすることです(index.jspから始めましょう):

簡単ですよね?ここでの私の意図は、(明らかに)setAuthenticatedUserメソッドを呼び出してセッションデータを格納し、次にgetAuthenticatedUserメソッドを呼び出して基本的に「このWebブラウザーで誰が認証されているか」を尋ねることです。

そして、これが私が残りをプログラムした方法です。これは、学習目的のための単純で最小限のアプリケーションであると想定されていることに注意してください。

BeanFacade.java

UserBean.java

UserBeanRemote.java(明らかに、UserBeanのリモートインターフェイス)

最後になりましたが、SimplifiedUser.javaです。これがセッションデータとして保存したいものです。

ただし、残念なことに、プロジェクトを実行すると、例外がスローされます。

HTTPステータス500-

タイプ例外レポート

メッセージ

descriptionサーバーで内部エラー()が発生したため、この要求を実行できませんでした。

例外

org.apache.jasper.JasperException:javax.ejb.EJBException:java.rmi.MarshalException:CORBABAD_PARAM1330446342たぶん; ネストされた例外は次のとおりです。java.io.NotSerializableException:

根本的な原因

javax.ejb.EJBException:java.rmi.MarshalException:CORBABAD_PARAM1330446342たぶん; ネストされた例外は次のとおりです。java.io.NotSerializableException:

根本的な原因

java.rmi.MarshalException:CORBABAD_PARAM1330446342たぶん; ネストされた例外は次のとおりです。java.io.NotSerializableException:

根本的な原因

java.io.NotSerializableException:

根本的な原因

org.omg.CORBA.BAD_PARAM:vmcid:OMGマイナーコード:6完了:たぶん

注例外とその根本原因の完全なスタックトレースは、GlassFish Server Open SourceEdition3.0.1ログで入手できます。GlassFishサーバーオープンソースエディション3.0.1

そして、いくつかの昔ながらのデバッグ(「コメントアウト」)の後、例外の原因は次のように思われます。

この:

これは、どういうわけか、HttpSessionインスタンス内にユーザーデータを保存する(または取得する)ことを望んでいないことを示しています。

なぜこれなのか誰か知っていますか?そもそも、SerializableオブジェクトをHttpSessionインスタンス内に格納することは完全に合法ではありませんか?もしそうなら、世界で何が起こっているのでしょうか?

ありがとう、ミゲル・マルティンス

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

jsf - JSFアプリケーションでリクエストスコープのBeanメソッドが複数回呼び出されるのを防ぐにはどうすればよいですか?

わかりました、この質問へのすべての答えで、私はまだ私の問題を処理することができません。私は次の星座を持っています:

beanJSF(1.1)Webアプリケーションに、クラスのリクエストスコープのBeanがありBeanます。ユーザーがすばやく複数回クリックしてページcommandButtonにリダイレクトすると、メソッドが複数回呼び出される場合があります(Tomcat 6の場合)。どうすればこれを防ぐことができますか?insult.xhtmldoSomethingThatTakesALittleLongerAndShouldOnlyBeDoneOnce

insult.xhtml:

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

java - 永続的な http 接続の維持

私の Android アプリは、10 秒ごとにサーブレットにデータを送信します。サーブレットは最初のリクエストを受け取り、応答します。しかし、サーブレットは、クライアントが次の 10 秒後に送信する 2 番目のデータ セットを受信しません。どうすればこれを行うことができるか教えてください。それはセッションに関連するものですか?

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

java - Java サーブレットと HttpSession

非常に基本的な質問です。いくつかのサーブレットを含むポータルがあり、そのうちの 1 つがログインを処理します (ただし、管理者としてのみ)。管理者がサインインしているかどうかを知るために、サーブレット間で HttpSessions を使用するにはどうすればよいですか?

前もって感謝します!

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

java - HttpSessionのIDが盗まれるのを防ぐのは何ですか?

JavaサーブレットAPIでは、誰かのセッションIDが盗まれないようにするために何が行われますか?

たとえば、私がアクティブなセッションを持っていて、誰かがどういうわけか私のセッションIDを取得した場合、彼らはそれを使用できますか?