0

以前は、通常、セッションで属性を設定および取得していました。しかし最近、セッション属性の 1 つが null のように動作し始めました。私のチームは通常、PC を Web アプリケーションのホストとして使用して特定のセッション属性を取得できますが、私自身は取得できません。私の問題を簡単に説明すると、同じコードがあり、私のチームはスクリプトレットを介して実行されるセッションで値を取得できますが、私は取得できません。サーバーとして tomcat、ブラウザとして eclipse juno、chrome を使用していますが、このバグに遭遇したのは私の PC だけです。私のマシン、ブラウザ、または他の場所に問題がありますか?

コード:

<% List<Place> places = (List<Place>) session.getAttribute("places");
for (Place p : places ) { %>
    <option value="<%=p.getID()%>"><%=p.getPlaceName()%></option>
<%} %>

私が言ったように、forループはセッションで値を取得しないため、実行されます。キャッシュを消去し、他のブラウザーを試してみましたが、それでも私のマシンではそのように動作します...

4

2 に答える 2

0

ある場所でセッション属性を取得している場合は、他の場所でも取得できるはずです。なぜそうすべきでないのかわかりません。

request.getSession(false);

同期の問題が発生する可能性があります。常に同期ブロックでセッション作業を行います。

HttpSessionAttributeListenerを構成して、属性がいつセッションに追加されたかを確認できます。

于 2013-04-03T07:29:29.617 に答える