存档

‘tomcat’ 分类的存档

解决nginx session共享的问题

2013年9月17日 3 条评论

不使用session,换作cookie

能把session改成cookie,就能避开session的一些弊端,在从前看的一本J2EE的书上,也指明在集群系统中不能用session,否则惹出祸端来就不好办。如果系统不复杂,就优先考虑能否将session去掉,改动起来非常麻烦的话,再用下面的办法。

应用服务器自行实现共享

已知的,php可以用数据库或memcached来保存session,从而在php本身建立了一个session集群,用这样的方式可以令 session保证稳定,即使某个节点有故障,session也不会丢失,适用于较为严格但请求量不高的场合。但是它的效率是不会很高的,不适用于对效率 要求高的场合。
以上两个办法都跟nginx没什么关系,下面来说说用nginx该如何处理:

阅读全文…

linux设置tomcat开机启动的方法

2013年5月11日 没有评论

环境说明

操作系统CentOS 6.3 64位
apache-tomcat-7.0.32
本方法经过测试,可用

设置方法

1、修改/etc/rc.d/rc.local
vi /etc/rc.d/rc.local
2、添加下面两行脚本,记住是两行,仅仅第二行不行,必须加第一行。
在/etc/rc.d/rc.local文件最后加上

export JAVA_HOME=/usr/local/jdk1.7.0_03
/usr/local/apache-tomcat-7.0.32/bin/startup.sh start

说明:/usr/local/jdk1.7.0_03 是jdk安装目录
/usr/local/apache-tomcat-7.0.32 是tomcat安装的目录
3、注意,修改rc.local文件为可执行,如: chmod +x rc.local

web.xml中各个元素加载的顺序

2012年12月23日 没有评论

各元素加载顺序

web.xml的加载顺序是:context-param -> listener -> filter -> servlet ,而同个类型之间的实际程序调用的时候的顺序是根据对应的 mapping 的顺序进行调用的。
1、启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: 和
2、紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文.
3、容器将转化为键值对,并交给ServletContext.
4、容器创建中的类实例,即创建监听.
在监听中会有contextInitialized(ServletContextEvent args)初始化方法,在这个方法中获得 ServletContext = ServletContextEvent.getServletContext(); context-param的值 = ServletContext.getInitParameter(“context-param的键”);得到这个context-param的值之后,你就可以做一些操作了.注意,这个时候你的WEB项目还没有完全启动完成.这个动作会比所有的Servlet都要早. 换句话说,这个时候,你对中的键值做的操作,将在你的WEB项目完全启动之前被执行.
举例.你可能想在项目启动之前就打开数据库. 那么这里就可以在中设置数据库的连接方式,在监听类中初始化数据库的连接.这个监听是自己写的一个类,除了初始化方法,它还有销毁方法.用于关闭应用前释放资源.比如说数据库连接的关闭,读取一些xml文件等.
阅读全文…

CAS3单点登录系列-基础篇(Java keytool 安全证书)

2012年7月19日 没有评论

背景知识:非对称加密算法点点我、公钥(public key)点点我和私钥(private key)

本文主要介绍的是JDK自带的keytool证书生成工具

核心元素分别介绍:

keystore

keystore容器的性质,储存两种数据:密钥和证书;肉眼看到的是.keystore文件(默认情况下window xp下被存贮在C:\Documents and Settings\当前用户\.keystore,win7及其之后被存储在C:\Users\当前用户\.keystore)

keystore的生成-keytool -genkey

C:\Users\zrz>keytool -genkey -keyalg RSA -alias cassso -storepass changeit
您的名字与姓氏是什么?
  [Unknown]:  sso.itblood.com
您的组织单位名称是什么?
  [Unknown]:  热血青年博客itblood
您的组织名称是什么?
  [Unknown]:  itblood-sso
您所在的城市或区域名称是什么?
  [Unknown]:  北京
您所在的州或省份名称是什么?
  [Unknown]:  北京
该单位的两字母国家代码是什么
  [Unknown]:  cn
CN=sso.itblood.com, OU=热血青年博客itblood, O=itblood-sso, L=北京, ST=北京, C=cn
 正确吗?
  [否]:  y

输入<cassso>的主密码
        (如果和 keystore 密码相同,按回车):

crt文件的生成-keytool -export

keytool -export -alias cassso -file %java_home%/jre/lib/security/cassso.crt
        -storepass changeit

crt证书导入jre的可信任证书仓库-keytool -import

keytool -import -alias cassso -file %java_home%/jre/lib/security/cassso.crt
        -keystore %java_home%/jre/lib/security/cacerts -storepass changeit

列出可信任证书列表-keytool -import

keytool -list -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit

特别关注:

上述过程中CN=sso.itblood.com需要关注,不能为ip,只能为域名,为了方便期间需要做本地模拟,方式很简单C:\Windows\System32\drivers\etc\hosts中增加如下代码:

127.0.0.1       sso.itblood.com
分类: tomcat 标签: , ,