大家好:
已经搞了一周了,网上的答案步骤都是千篇一律的,菜鸟我搞的也是一头雾水啊!
需求是:redis实现session共享!
操作步骤:根据网上的文章我去网上下载了三个jar包:commons-pool(1.X 2.X的都试过了,同样的问题)
jedis-2.7.2.jar和 tomcat-redis-session.jar(网上下载的还有自己打包的也都试过了,同样的问题)
然后修改了tomcat下的conf文件夹下的context.xml
<!--add -->
<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />
<Manager className="com.radiadesign.catalina.session.RedisSessionManager"
host="127.0.0.1"
port="6379"
database="0"
maxInactiveInterval="1800" />
<!--end -->不确定两个className是什么意思,是不是固定的?因为报错的好像是说找不见这个!
问题来了:
严重: Begin event threw exception
java.lang.ClassNotFoundException: com.radiadesign.catalina.session.RedisSessionHandlerValve
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:204)
at org.apache.tomcat.util.digester.Rule.begin(Rule.java:152)
at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1376)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509)
at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1343)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2786)
是不是jar包没扔进来啊我已经将下载的三个包放到tomcat下的lib包下了呢,之前有人说版本不匹配,我好几个版本做了测试的,但都是启动tomcat就报错,光扔jar进去是不报错的,但是改context.xml文件,添加的是上面的那一段代码,就报错了……
你看看你jar里面是否有这个类。别总是copy网上的文章,记得这个好像那个包名变了。你看看。
<spanstyle="font-family:'MicrosoftYaHei',Verdana,sans-serif,宋体;font-size:14px;line-height:22px;background-color:#FFFFFF;">tomcat-redis-session要下源码根据自己Tomcat环境进行编译的两个className是<spanstyle="font-family:'MicrosoftYaHei',Verdana,sans-serif,宋体;font-size:14px;line-height:22px;background-color:#FFFFFF;">tomcat-redis-sessionJar中的class名称
<spanstyle="font-family:'MicrosoftYaHei',Verdana,sans-serif,宋体;font-size:14px;line-height:22px;background-color:#FFFFFF;">源码可以从这里拿https://git.oschina.net/nature/tomcat-redis-session.git
tomcat-redis-session,我确实是在git中获取的文件啊,而且也是从eclipse中打包的啊……为了让楼主看看Java开发是多么的<spanstyle="font-size:18px;">简单和轻松,<spanstyle="font-size:18px;">你说你耗时一周都没搞好,简直就是胡说八道!!我从没搞过reids和tomcat整合的<spanstyle="font-size:12px;">(我做的项目一直都是去session用cookie,为了验证你在胡说八道,我还特意把我项目里JSP里的session=false去掉<spanstyle="font-size:12px;">),耗时也不过20分钟!!<spanstyle="font-size:18px;">我今天非要截图给你看看!!最受不了新手只会去copy网上的文章,不去看源码不去看文档。
所用版本tomcat7最新版,Java7最新版,redis2.6,jedis2.7.0,common-pool2.0。
tomcat-seesion整合包这个:<atarget="_blank"rel="nofollow">https://github.com/jcoleman/tomcat-redis-session-manager/releases/tag/1.2-tomcat-7-java-7 ,其实里面就5个文件而已!我自己放eclipse里打包的,分分钟搞定。
1.扔jar包到tomcat目录
<imgsrc="http://static.oschina.net/uploads/space/2015/1128/001125_qCIO_724468.png"alt="">
2.配置tomcat的context.xml文件
<imgsrc="http://static.oschina.net/uploads/space/2015/1128/001820_2iUI_724468.png"alt="">
<spanstyle="font-size:24px;line-height:1.5;">3.配置完了,启动项目,简单的要死!!验证一下
<spanstyle="font-size:24px;"><imgsrc="http://static.oschina.net/uploads/space/2015/1128/001320_oUKG_724468.png"alt="">
<spanstyle="font-size:24px;"><imgsrc="http://static.oschina.net/uploads/space/2015/1128/001339_J3QP_724468.png"alt="">
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。