checking session in servlet and jsp

前端 未结 2 1609
日久生厌
日久生厌 2021-02-14 01:57

In my web application i neet to check session already exist or not.

i want to check this in my servlet and in jsp also.

is there any way to check this.

T

2条回答
  •  慢半拍i
    慢半拍i (楼主)
    2021-02-14 02:33

    You can test it with HttpServletRequest#getSession(boolean create) with create=false. It will return null if not created yet.

    HttpSession session = request.getSession(false);
    if (session == null) {
        // Session is not created.
    } else {
        // Session is already created.
    }
    

    If you actually want to create the session anyway if it doesn't exist, then just grab it and test the freshness using HttpSession#isNew():

    HttpSession session = request.getSession();
    if (session.isNew()) {
        // Session is freshly created during this request.
    } else {
        // Session was already created during a previous request.
    }
    

    That was how you would do it in a Servlet. In a JSP you can only test the freshness with help of JSTL and EL. You can grab the session by PageContext#getSession() and then just call isNew() on it.

    
        

    Session is freshly created during this request.

    or

    Session is ${pageContext.session.new ? 'freshly' : 'already'} created.

提交回复
热议问题