⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sessionmanagertest.java

📁 是离开的肌肤了卡机是离开的就富利卡及是了的开发及拉考试及的福利科技阿斯利康的肌肤莱卡及时的离开福建阿斯顿发
💻 JAVA
字号:
/* ------------------------------------------------------------------------ * $Id$ * Copyright 2006 Tim Vernum * ------------------------------------------------------------------------ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *      http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ------------------------------------------------------------------------ */package org.mortbay.jetty.servlet;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import javax.servlet.http.HttpSessionActivationListener;import javax.servlet.http.HttpSessionEvent;import junit.framework.TestCase;import org.mortbay.jetty.Server;import org.mortbay.jetty.handler.ContextHandler;import org.mortbay.jetty.servlet.AbstractSessionManager.Session;/** * @version $Revision$ */public class SessionManagerTest extends TestCase{    TestSessionIdManager idManager = new TestSessionIdManager();    HashSessionManager sessionManager = new HashSessionManager();    SessionHandler handler = new SessionHandler(sessionManager);    Server server = new Server();        protected void setUp() throws Exception    {        sessionManager.setIdManager(idManager);        ContextHandler context=new ContextHandler();        sessionManager.setSessionHandler(handler);        server.setHandler(context);        context.setHandler(handler);        server.start();    }    protected void tearDown() throws Exception    {        server.stop();    }    public void testSetAttributeToNullIsTheSameAsRemoveAttribute() throws Exception    {        HttpSession session = sessionManager.newHttpSession(null);        assertNull(session.getAttribute("foo"));        assertFalse(session.getAttributeNames().hasMoreElements());        session.setAttribute("foo", this);        assertNotNull(session.getAttribute("foo"));        assertTrue(session.getAttributeNames().hasMoreElements());        session.removeAttribute("foo");        assertNull(session.getAttribute("foo"));        assertFalse(session.getAttributeNames().hasMoreElements());        session.setAttribute("foo", this);        assertNotNull(session.getAttribute("foo"));        assertTrue(session.getAttributeNames().hasMoreElements());        session.setAttribute("foo", null);        assertNull(session.getAttribute("foo"));        assertFalse(session.getAttributeNames().hasMoreElements());    }        public void testSessionPassivation() throws Exception     {        HttpSession session = sessionManager.newHttpSession(null);        TestListener listener = new TestListener();        session.setAttribute("key", listener);                sessionManager.removeSession(session, false);        assertNull(listener.activateEvent);        assertNotNull(listener.passivateEvent);    }        public void testSessionActivation() throws Exception    {        HttpSession session = sessionManager.newHttpSession(null);        TestListener listener = new TestListener();        session.setAttribute("key", listener);        sessionManager.removeSession(session, false);        listener.passivateEvent = null;                sessionManager.addSession((Session) session, false);        assertNotNull(listener.activateEvent);        assertNull(listener.passivateEvent);    }        public void testWorker() throws Exception    {        try        {            idManager.setWorkerName("node0");            HttpSession session = sessionManager.newHttpSession(null);                        assertTrue(!session.getId().endsWith(".node0"));            String nodeId=sessionManager.getNodeId(session);            String clusterId=session.getId();            String id1=clusterId+".node1";                        assertEquals(session.getId()+".node0",nodeId);                        assertTrue(sessionManager.getSessionCookie(session,"/context",false)!=null);                        assertEquals(session,sessionManager.getHttpSession(nodeId));            assertTrue(sessionManager.access(session,false)==null);                        assertEquals(session,sessionManager.getHttpSession(id1));            Cookie cookie = sessionManager.access(session,false);            assertTrue(cookie!=null);            assertEquals("JSESSIONID",cookie.getName());            assertEquals(nodeId,cookie.getValue());                    }        finally        {            idManager.setWorkerName(null);        }    }            class TestSessionIdManager extends HashSessionIdManager    {                public boolean idInUse(String id)        {            return false;        }        public void addSession(HttpSession session)        {            // Ignore        }        public void invalidateAll(String id)        {            // Ignore        }        public String newSessionId(HttpServletRequest request, long created)        {            return "xyzzy";        }        public void removeSession(HttpSession session)        {            // ignore        }    }        class TestListener implements HttpSessionActivationListener    {        private HttpSessionEvent activateEvent;        private HttpSessionEvent passivateEvent;                public void sessionDidActivate(HttpSessionEvent event)        {            activateEvent = event;        }        public void sessionWillPassivate(HttpSessionEvent event)        {            passivateEvent = event;        }            }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -