如何在JSP EL中检查会话?

如何检查EL中的请求是否存在会话? 我正在尝试这样的事情:

 ...  

但似乎它永远不会是空的。

它确实永远不会为null除非您添加, 否则会话始终存在于JSP EL中

 <%@page session="false" %> 

到JSP的顶部。 然后,您可以按如下方式检查会话(仅限EL 2.2!):

  

The session has been created before.

我不确定具体的function要求是什么。 如果您想检查会话是新的还是已经创建,请改用HttpSession#isNew()

  

You've already visited this site before.

You've just started the session with this request!

new的括号表示法是必需的,因为new是Java语言中的保留文字)

如果您依赖于特定的会话属性,例如已设置为的登录用户

 session.setAttribute("user", user); 

那么你应该宁愿拦截它:

  

You're still logged in.

You're not logged in!

似乎适用于:

  

我想知道是否有更好的方法,因为这需要我有会话属性(我总是这样做,但它不是很干净)?

在J2EE中,当用户访问站点时,总会有一个会话对象。

什么是会话? 会话几乎就是它的声音,当用户向服务器发出页面请求时,服务器会创建一个临时会话来识别该用户。 因此,当同一用户转到该站点上的另一个页面时,服务器会识别该用户。 因此,会话是服务器和用户之间的小型临时唯一连接,使其能够跨多个页面请求或访问该站点来识别该用户。

所以基本上如果你打一个页面就会有一个会话,因为你使用了JSP,最终会被转换成servlet。

http://www.stardeveloper.com/articles/display.html?article=2001062001&page=1