Tomcat 不同web项目session共享.
2015-08-27 10:26
387 查看
好记忆不如按烂笔头 ... ...
同一个 tomcat 下,不同的 Web 项目实现session的共享。
这个是基于tomcat本身来实现的,没有借助外力来实现。
首先,准备两个web项目,Demo1 和Demo2 , 用 servlet 实现简单的登录功能。
在Demo1中的doPost方法中加入:
String userName = request.getParameter("userName");
String userPass = request.getParameter("userPass");
HttpSession session = request.getSession();
ServletContext context = session.getServletContext();
session.setAttribute("userPass", userPass);
session.setAttribute("userName", userName);
context.setAttribute("session", session);
response.sendRedirect("success1.jsp");
将登录的userName和userPass 存入到session中,session由存入到ServletContext对象中去.
在Demo2 中的doPost方法实写上如下代码:
String name = request.getParameter("name");
String pass = request.getParameter("pass");
System.out.println("name = " + name + ", pass = " + pass);
HttpSession session = request.getSession();
ServletContext context = session.getServletContext();
ServletContext demo1Context = context.getContext("/Demo1");
if (demo1Context != null && !demo1Context.equals("")) {
HttpSession sess = (HttpSession) demo1Context.getAttribute("session");
System.out.println(sess.getAttribute("userName"));
System.out.println(sess.getAttribute("userPass"));
}
response.sendRedirect("success2.jsp");
name 和 pass 为页面的输入,demo1Contex t获得了 Demo1 中的userName 和 userPass 。
而以上的关键是在tomcat/conf/server.xml 的 host标签中配置如下:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
<Context path="/Demo1" reloadable="true" crossContext="true" />
<Context path="/Demo2" reloadable="true" crossContext="true"/>
</Host>
如此就实现了同一个tomcat下,session信息的共享问题。
同一个 tomcat 下,不同的 Web 项目实现session的共享。
这个是基于tomcat本身来实现的,没有借助外力来实现。
首先,准备两个web项目,Demo1 和Demo2 , 用 servlet 实现简单的登录功能。
在Demo1中的doPost方法中加入:
String userName = request.getParameter("userName");
String userPass = request.getParameter("userPass");
HttpSession session = request.getSession();
ServletContext context = session.getServletContext();
session.setAttribute("userPass", userPass);
session.setAttribute("userName", userName);
context.setAttribute("session", session);
response.sendRedirect("success1.jsp");
将登录的userName和userPass 存入到session中,session由存入到ServletContext对象中去.
在Demo2 中的doPost方法实写上如下代码:
String name = request.getParameter("name");
String pass = request.getParameter("pass");
System.out.println("name = " + name + ", pass = " + pass);
HttpSession session = request.getSession();
ServletContext context = session.getServletContext();
ServletContext demo1Context = context.getContext("/Demo1");
if (demo1Context != null && !demo1Context.equals("")) {
HttpSession sess = (HttpSession) demo1Context.getAttribute("session");
System.out.println(sess.getAttribute("userName"));
System.out.println(sess.getAttribute("userPass"));
}
response.sendRedirect("success2.jsp");
name 和 pass 为页面的输入,demo1Contex t获得了 Demo1 中的userName 和 userPass 。
而以上的关键是在tomcat/conf/server.xml 的 host标签中配置如下:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
<Context path="/Demo1" reloadable="true" crossContext="true" />
<Context path="/Demo2" reloadable="true" crossContext="true"/>
</Host>
如此就实现了同一个tomcat下,session信息的共享问题。
相关文章推荐
- The APR based Apache Tomcat Native library which allows optimal performance in production environmen
- Could not create the view: An unexpected exception was thrown tomcat中 Servlet 错误解决方法
- 扩展Tomcat支持OSGi应用服务
- 20150827_tomcat架构_Server.xml详解
- linux下打开、关闭tomcat,实时查看tomcat运行日志
- 深入剖析Tomcat类加载机制
- Tomcat 配置
- tomcat 项目目录修改
- 获取tomcat当前路径
- Tomcat端口占用
- 折腾AMAZON EC2 之(3)—— Ngnix 整合 Tomcat
- java.lang.UnsatisfiedLinkError: D:\Tomcat\apache-tomcat-7.0.37\bin\tcnative-1.dll: Can't load AMD 6
- tomcat处理图片资源
- eclipse启动tomcat访问不到主页
- 日记 - 一些启动tomcat时的一些信息
- zabbix通过JMX监控Tomcat及一些报错
- Tomcat指定JAVA_HOME而不用环境变量
- tomcat 配置虚拟路径
- 如何同时启动多个Tomcat服务
- 修改Tomcat标题栏内容