1

私はサーブレットを持っています。私のdoPost方法では、いくつかの属性を設定しようとしていますSessionsession = req.getSession(false)のセッション値はnullです。そのため、何も設定できません。いくつかの属性にservletアクセスして保存できるのは、どの段階ですか?session

4

1 に答える 1

2

でセッションを作成するステージのようなものはありませんHttpServlet。サーブレットが初期化されてから応答がコミットされるまでは、いつでも作成できます。

Javadocから、作成する方法は 2 つありますHttpSession

getSession() -- このリクエストに関連付けられている現在のセッションを返すか、リクエストにセッションがない場合は作成します。

and getSession(boolean create)--HttpSessionこのリクエストに関連付けられた現在のセッションを返します。現在のセッションがなく、create が true の場合は、新しいセッションを返します。

ここでは、 false を渡していますgetSession(false)。したがって、セッションが存在しない場合は、 が返されNULLます。

セッションを初めて作成するときは、属性を使用して属性を設定し、その後使用するために属性を使用してアクセスしgetSession()、属性を取得します。getSession(true)getSession(false)

于 2012-08-28T04:59:04.183 に答える