request.getSession

这里我想进行登陆验证,所以用if(request.getsession(false)!=null),如果用户正确登陆,那么有一个session,返回值不为null,登陆成功。但是我每次都登陆不上,我把false改为true,反而可以登陆,也可以实现密码不正确,登陆失败的效果。总结一句话就是,为什么我这里false和true的效果是反的,这是什么原因?

在javaweb项目中,用到request.getSession()一般是存储信息到session中或者从session中获取信息。
一般有三种参数设置方式:
1.request.getSession()
这是常用的方式,从当前request中获取session,如果获取不到session,则会自动创建一个session,并返回新创建的session;如果获取到,则返回获取到的session;
2.request.getSession(true)
这种方法和第一种一样,只是增家了一个true参数,告诉它在获取不到的时候自动创建session;
3.request.getSession(false)
这种方法与上两种的区别,就是在获取不到session的时候,不会自动创建session,而是会返回null。

在使用过程中,一般
想要存储到session中时,使用request.getSession(),
想要获取session中的信息时,使用request.getsession(false),并在获取后对session变量进行是否为null的判断,再进行下一步操作。

登录认证不是你这么做的啊,你在登录的时候,应该把登录信息存session,做登录判断的时候,通过存入时的key去获取。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632