問題タブ [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.
session - グレイルでは、現在のすべてのセッションへの参照を取得するにはどうすればよいですか?
管理コントローラーの現在のすべてのセッションをグラフで一覧表示したいと思います。コントローラーからセッションのコレクションなどへの参照を取得する最も簡単な方法は何ですか?
java - Java クラスからセッションにアクセスする方法
現在のユーザー セッションへの追加と読み取りを可能にする小さな Java クラスを作成する必要があります。
私が見ているものはすべてサーブレットを参照していますが、理想的には単純な古いクラスを使用したいと思っています。
誰かこの Java 初心者を助けてくれませんか?
ありがとう
.net - .NET で HttpContext.Current.Session の作成を強制する
私は、.NET の StaticFileHandler を使用して動的に生成されたコンテンツを提供するアプリケーションに取り組んでいます...現在の HttpSession を使用してユーザー固有のデータを格納するアプリケーションの別の部分もあります。
StaticFileHandler は静的ファイルを処理するように設計されているため、IRequiresSessionState を実装していません。したがって、アプリのその部分を通過するものは、アプリの残りの部分からのセッション固有のデータにアクセスできません。
StaticFileHandler は System.Web の内部にあるため、IRequiresSessionState も実装する独自のクラスに拡張することはできません。セッションがnullであることを検出したときに、セッションの作成を強制できる他の方法はありますか?
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()
java - JSF-セッションスコープのマネージドBeanには、セッションの逆シリアル化で再注入された依存関係がありません
自分がしていることが間違っているのか、それともどこかで注釈や構成アイテムを見逃しただけなのかわかりません。状況は次のとおりです。
。という名前のセッションスコープのBeanを使用するJSFアプリケーションがありますSessionData
。このBeanには、作成時に(タイプの)アプリケーションスコープのBean参照がApplicationData
注入されます。これは、セッションが最初に作成されたときに問題なく機能します。依存性注入は、次のようにファイル<managed-bean>
内の要素を使用して行わfaces-config.xml
れます。
SessionData
シリアル化されたときにオブジェクトにオブジェクトを含めることは意味がないため、オブジェクトで参照を一時的なものとしてApplicationData
マークしました。 ApplicationData
SessionData
Webアプリケーションが(私のTomcat 6.xコンテナーで)停止され、セッションがシリアル化されるまで、すべて問題ありません。アプリケーションを再起動してセッションが逆シリアル化されると、への参照がApplicationData
JSFによって再注入されません。デシリアライズは値のない一時的なフィールドを残すことになっていることを私は知っています。このセッションスコープのオブジェクトでは、逆シリアル化後に依存関係を再度設定する必要があることをJSFに通知する方法はありますか?
MyFacesJSF1.2とTomcat6.0.26をWebアプリケーションコンテナとして使用しています。
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インスタンス内に格納することは完全に合法ではありませんか?もしそうなら、世界で何が起こっているのでしょうか?
ありがとう、ミゲル・マルティンス
jsf - JSFアプリケーションでリクエストスコープのBeanメソッドが複数回呼び出されるのを防ぐにはどうすればよいですか?
わかりました、この質問へのすべての答えで、私はまだ私の問題を処理することができません。私は次の星座を持っています:
bean
JSF(1.1)Webアプリケーションに、クラスのリクエストスコープのBeanがありBean
ます。ユーザーがすばやく複数回クリックしてページcommandButton
にリダイレクトすると、メソッドが複数回呼び出される場合があります(Tomcat 6の場合)。どうすればこれを防ぐことができますか?insult.xhtml
doSomethingThatTakesALittleLongerAndShouldOnlyBeDoneOnce
insult.xhtml:
java - 永続的な http 接続の維持
私の Android アプリは、10 秒ごとにサーブレットにデータを送信します。サーブレットは最初のリクエストを受け取り、応答します。しかし、サーブレットは、クライアントが次の 10 秒後に送信する 2 番目のデータ セットを受信しません。どうすればこれを行うことができるか教えてください。それはセッションに関連するものですか?
java - Java サーブレットと HttpSession
非常に基本的な質問です。いくつかのサーブレットを含むポータルがあり、そのうちの 1 つがログインを処理します (ただし、管理者としてのみ)。管理者がサインインしているかどうかを知るために、サーブレット間で HttpSessions を使用するにはどうすればよいですか?
前もって感謝します!
java - HttpSessionのIDが盗まれるのを防ぐのは何ですか?
JavaサーブレットAPIでは、誰かのセッションIDが盗まれないようにするために何が行われますか?
たとえば、私がアクティブなセッションを持っていて、誰かがどういうわけか私のセッションIDを取得した場合、彼らはそれを使用できますか?