一 搭建环境

操作系统:windows 7 64位

http server:nginx 1.9.7

缓存系统:memcached

Servlet容器:apache-tomcat-7.0.65

二 搭建步骤

1.为了方便测试,将tomcat复制为两份,避免tomcat端口号冲突,修改tomcat\conf\server.xml 端口号。

2.在两个tomcat\webapps下建立文件夹,并新建一个jsp文件,文件内容为<%=session.getId()%> 为了区别跳转的路径可以在内容中追加编号,例如tomcat1、tomcat2。

3.启动两个tomcat并访问 http://localhost:port/<新建的文件夹>/<jsp文件>。此时两个tomcat是独立运行的。我们需要配置nginx将两个tomcat集成起来。

4.修改ngxig\conf\nginx.conf配置文件

upstream test{

server ip:port;

server ip:port;

}

server {

listen       80;

server_name  ip;

#charset koi8-r;

#access_log  logs/host.access.log  main;

location /test{

root jsp;

index login.jsp;

proxy_pass http://test;  (test为upstream配置的别名)

}

5.通过cmd命令行工具进入nginx使用命令 nginx启动。

Ps:ngxin常用命令:启动 nginx,停止 ngxin -s stop,重启nginx -s reload,如果发现命令无效,可以打开任务管理器将nginx进程结束掉再执行启动命令。

6.按照上面给出的例子通过浏览器访问 http://localhot/<文件夹>/<jsp文件>就能访问jsp页面。按F5刷新可以看到请求页面是在两个jsp页面切换,sessionId不断的更换。

7.停止tomcat,将下载好的memcached相关的jar包放到tomcat\lib下

Ps:这里要注意tomcat和jar包的版本,可以去google code上去查看,针对tomcat 7 的jar包已上传至 \\192.168.0.212\SoftBank\jar\memcached 中。

8.解压memcached,使用cmd命令进入该目录,执行 memcached -d install命令,安装好后,使用memcached -d start启动memcached服务。

9.修改tomcat\conf\context.xm文件,将以下内容天下到<context></context>标签内。

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"

memcachedNodes="n1:ip:port" requestUriIgnorePattern=".*/.(png|gif|jpg|css|js)$"

sessionBackupAsync="false"

sessionBackupTimeout="100"

transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory" copyCollectionsForSerialization="false"/>

添加好后,修改IP和端口。

10.启动tomcat,访问nginx配置的路径,http://localhot/<文件夹>/<jsp文件> 此时再按F5刷新页面会看到无论访问哪个页面sessionID都是一致的。

java web session共享的更多相关文章

  1. java web Session会话技术(原理图解+功能+与Cookie的区别+基本使用)

    java web Session会话技术(原理图解+功能+与Cookie的区别+基本使用) 这是我关于会话技术的第二篇文章,对 Cookie有不了解的兄弟可以点击下方的Cookie跳转 Cookie链 ...

  2. Java Web Session设置

    一.前言 在做 java web项目时,我们很多时候都要用到 Session,那么我就简单的写一下 Session 的写法. 二.代码实现 Servlet Session 的设置 package co ...

  3. java web session过期 跳转页面没有跳出frame的问题

    对于frame页面框架的java web项目,如果session过期执行跳转操作时,只在一个frame中(例如center frame)跳转到设置的login页面了,为了能直接跳转到最初的登录页面,就 ...

  4. java web session监听销毁跳转

    1.了解如何使用HttpSessionListener监听session的销毁. 2.了解如何使用HttpSessionBindingListener监听session的销毁. 一. 使用HttpSe ...

  5. 聊聊从web session的共享到可扩展缓存设计

    先从web session的共享说起   许多系统需要提供7*24小时服务,这类系统肯定需要考虑灾备问题,单台服务器如果宕机可能无法立马恢复使用,这必定影响到服务.这个问题对于系统规模来说,从小到大可 ...

  6. 多台web如何共享session进行存储(转载)

    session的存储了解以前是怎么做的,搞清楚了来龙去脉,才会明白进行共享背后的思想和出发点.我喜欢按照这样的方式来问(或者去搞清楚):为什么要session要进行共享,不共享会什么问题呢? php中 ...

  7. 基于nginx tomcat redis分布式web应用的session共享配置

    一.前言 nginx 作为目前最流行的开源反向代理HTTP Server,用于实现资源缓存.web server负载均衡等功能,由于其轻量级.高性能.高可靠等特点在互联网项目中有着非常普遍的应用,相关 ...

  8. nginx redis tomcat 分布式web应用 session共享

    目标:多台tomcat 使用redis实现共享session.redis的安装请参阅:centos上安装redis nginx 作为目前最流行的开源反向代理HTTP Server,用于实现资源缓存.w ...

  9. java项目使用memcache实现session共享+session基础

    本文章主要目的是配置session共享,为了巩固基础,捎带介绍了一些基础知识(网上搜索后觉得最全面的特引过来,节省时间),基础扎实的可以自动忽略. 基础篇: 1.了解java web中的session ...

随机推荐

  1. Vue-router路由的简单使用

    一.安装路由: 如果使用vue-cli脚手架搭建,项目创建过程中会提示你自否选择使用vue-router,选择使用即可, 二.创建组件 1.vue-cli项目自动创建的路由文件是src包下面的rout ...

  2. bash date format

    Bash Date To format Bash Date to a required one, bash shell provides date command along with many fo ...

  3. Thinkphp5.0 自定义命令command的使用

    在app下的command文件中,定义命令所在的模块以及命名. 然后保存,打开cmd,php think 定义的那个command的名字,完整的命令行为:php think clearInvalidO ...

  4. Intellij idea创建javaWeb:实现JSP/Servlet(转)

    转自:https://www.jianshu.com/p/9684e90cf7b5 Intellij idea创建javaWeb:实现JSP/Servlet by_love唯念 关注 2016.12. ...

  5. css3--文字效果

    text-shadow <!DOCTYPE html> <html> <head> <meta charset="utf-8"> & ...

  6. ORA-20782: Creating GGS_DDL_RULES

    在11g数据库上安装goldengate,运行@ddl_setup.sql时有如下错误 ERROR at line 1: ORA-20782: Creating GGS_DDL_RULES table ...

  7. Quartz.Net 任务调度之特性(3)

    再实现类中使用,就是继承IJob的类 [PersistJobDataAfterExecution] //执行后的保留作业数据,链式传参(上一次的任务数据) [DisallowConcurrentExe ...

  8. youlexuan父类配置

    <!-- 集中定义依赖版本号 -->    <properties>        <junit.version>4.12</junit.version> ...

  9. php strrev()函数 语法

    php strrev()函数 语法 strrev()怎么用? php strrev()函数用于反转字符串,语法是strrev(string),返回已反转的字符串.大理石构件来图加工 作用:反转字符串 ...

  10. 四轴遥控器ADC部分

    一.ADC参考手册学习 A/D转换可以按单次.连续设置采样:可以一一扫描或间断的对多个ADC通道进行采集. ADC的结果有左对齐和右对齐. ADC的输入时钟不得超过14Mhz,它是由PCLK2经分频产 ...