request.getSession() ture/false
出典:http://blog.csdn.net/xxd851116/archive/2009/06/25/4296866.aspx
J 2 EEの基礎的なものは、メモしておきます.
getSession(boolean create)は、現在のreqeustのHttpSessionを返すことを意味し、現在のreqeustのHttpSessionがnullである場合、createがtrueである場合、新しいSessionを作成し、そうでない場合nullを返す.
簡単に言えば、
HttpServletRequest.getSession(ture)はttpServiceletRequestに等しい.getSession()
HttpServletRequest.getSession(false)は、現在のSessionがない場合nullに等しい.
【問題とバグ】:
私の周りの多くの同僚はこのように書いています.
view plaincopy to clipboardprint?
HttpSession session = request.getSession();//a new session created if no session exists、ははは!しまった!もしsessionが存在しなければ、あなたはまた1つを作成しました!
String user_name = session.getAttribute("user_name");
注意すべき点はrequestです.getSession()はrequestに等しい.getSession(true)は、sessionが必ず存在するか、sessonが存在しないことを確認した場合にsessionを作成する必要があることを明確にしない限り、できるだけrequestを使用する.getSession(false).requestを使用しています.getSession()関数は、通常actionで変数/タグがsessionに格納されているかどうかをチェックします.このシーンではセッションが存在しない場合がありますが、通常の判断はこうです.
J 2 EEの基礎的なものは、メモしておきます.
getSession(boolean create)は、現在のreqeustのHttpSessionを返すことを意味し、現在のreqeustのHttpSessionがnullである場合、createがtrueである場合、新しいSessionを作成し、そうでない場合nullを返す.
簡単に言えば、
HttpServletRequest.getSession(ture)はttpServiceletRequestに等しい.getSession()
HttpServletRequest.getSession(false)は、現在のSessionがない場合nullに等しい.
【問題とバグ】:
私の周りの多くの同僚はこのように書いています.
view plaincopy to clipboardprint?
HttpSession session = request.getSession();//a new session created if no session exists、ははは!しまった!もしsessionが存在しなければ、あなたはまた1つを作成しました!
String user_name = session.getAttribute("user_name");
注意すべき点はrequestです.getSession()はrequestに等しい.getSession(true)は、sessionが必ず存在するか、sessonが存在しないことを確認した場合にsessionを作成する必要があることを明確にしない限り、できるだけrequestを使用する.getSession(false).requestを使用しています.getSession()関数は、通常actionで変数/タグがsessionに格納されているかどうかをチェックします.このシーンではセッションが存在しない場合がありますが、通常の判断はこうです.
view plaincopy to clipboardprint?
HttpSession session = request.getSession(false);
if (session != null) {
String user_name = session.getAttribute("user_name");
}