58-004-1 同一tomcat下不同web项目共享同一session

来源:互联网 发布:淘宝汽车服务 编辑:程序博客网 时间:2024/05/23 12:46



同一个tomcat下两个不同的servletContext(即jsp内置对象application)在默认状态下是不能
共享信息的,但是通过配置tomcat的server.xml文件可以开启信息共享。

server.xml
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" mlValidation="false">
 <Context path="/projectA" reloadable="false" crossContext="true"></Context>
 <Context path="/projectB" reloadable="false" crossContext="true"></Context>
</Host>

定义两个jsp页面实验一

    /projectA/WebContent/jsp1.jsp

<body>
<%
    session.setAttribute("user", "西门庆");
    application.setAttribute("session1",session);
%>    
    <a href="http://localhost/projectB/jsp2.jsp">jsp2</a>
</body>

    /projectB/WebContent/jsp2.jsp

<body>
<%
 ServletContext app1 = application.getContext("/projectA");
  HttpSession session1 = (HttpSession)app1.getAttribute("session1");
 String user = (String)session1.getAttribute("user") ;
%>
<%=user %>
</body>

0 0
原创粉丝点击