`

WebLogic之Session

阅读更多
参考资料
1 关于WebLogic的Session丢失的问题
http://blog.csdn.net/DesignLife/article/details/2552186
2 tomcat向weblogic移植出现的问题系列 - session丢失问题
(其中一位网友回答不知是什么意思,要加什么文件)
http://netliving.iteye.com/blog/148485
3 java weblogic session 丢失
http://hi.baidu.com/leftstone/blog/item/3b34a4a19d4d0588471064f0.html
4 weblogic两个domain中jsp相互调用session丢失解决方法
http://www.4ucode.com/Study/Topic/1159787
5 关于WebLogic的Session丢失的问题
http://hi.baidu.com/goylsf/blog/item/d2446677d71e070ab051b98d.html
6 weblogic通过代理插件weblogic.servlet.proxy.HttpProxyServlet跨域访问导致session丢失问题的解决
http://ribbonchen.blog.163.com/blog/static/1183165052011074500877/
7 WebLogic如何设置session超时时间
http://tonyaction.blog.51cto.com/227462/201900
注意网上有很多的Webloigc不是最新的配置
位于WEB-INF/WebLogic.xml配置如下:
<?xml version='1.0' encoding='utf-8'?> 
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90" 
				 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
				 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
				 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd  
				 http://www.bea.com/ns/weblogic/90  
				 http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd"> 
	<container-descriptor>
		<prefer-web-inf-classes>true</prefer-web-inf-classes>
	</container-descriptor>
	<context-root>/</context-root>
	<session-descriptor>
	    <!--WebLogic设置Session超时时间,在web.xml中去掉session超时设置  -->
		<!-- <timeout-secs>7200</timeout-secs> -->
		<cookie-name>JSESSIONID1</cookie-name>
	</session-descriptor>
</weblogic-web-app>

一 WebLogic设置Session超时
1 web.xml
设置WEB应用程序描述符web.xml里的<session-timeout>元素。这个值以分钟为
单位,并覆盖weblogic.xml中的TimeoutSecs属性
<session-config>
    <session-timeout>30</session-timeout>
</session-config>

此例表示Session将在54分钟后过期
当<session-timeout>设置为-2,表示将使用在weblogic.xml中设置的
TimeoutSecs这个属性值。
当<session-timeout>设置为-1,表示Session将永不过期,而忽略在
weblogic.xml中设置的TimeoutSecs属性值

该属性值可以通过console控制台来设置
在weblgoic的console中:xxDomain->Servers->xxServer->Protocols->HTTP 中有一个关于Post Timeout的配置,但这个参数一般使用默认值即可
一般是通过Services-->JDBC-->Connection Pools-->MyConnection(你所建立的连接池名)-->Configration-->Connections 里的Inactive Connection Timeout这个参数来设置的,默认的为0,表示连接时间无限长。你可以设一个时间值,连接超过这个时间值,它会把连接强制放回连接池
<Server AcceptBacklog="62" CompleteHTTPMessageTimeout="480"
CompleteMessageTimeout="480" IdleC
ListenAddress="" ListenPort="7001" Name="myserver"
NativeIOEnabled="true" ReliableDeliveryPolicy="RMDefaultPolicy"
ServerVersion="8.1.4.0">

是否IdleConnectionTimeout参数
2 weblogic.xml
设置WebLogic特有部署描述符weblogic.xml的<session-descriptor>元素的
TimeoutSecs属性。这个值以秒为单位
<session-descriptor>
	    <!--WebLogic设置Session超时时间,在web.xml中去掉session超时设置  -->
	   <timeout-secs>7200</timeout-secs> 		
</session-descriptor>


二 防止Webloigic下的iframe的Session失效
请在Weblogic.xml添加如下代码
<session-descriptor>	  
		<cookie-name>JSESSIONID1</cookie-name>
</session-descriptor>

原来session在服务器端生成后分配的sessionID在客户端的保存方式是个cookie,它的生命周期在浏览器关闭后就会结束,而这个cookie的名字如果不特别设置,weblogic会以默认的名称“JSESSIONID”来设置这个cookie的名称,我两个应用的的session cookie名字都没有设置,客户端在第一次通过应用A请求代理转发到应用B时,应用B返回的同名session cookie覆盖了客户端原本的应用A的session cookie,所以导致了应用A session的丢失。
解决方法是,在应用B的weblogic.xml中的session descriptor标记中添加session cookie的名称设置,使其区别于A应用的session cookie名称.其中的cookie-name可以重命名!解决在iframe中进行跨域访问时session丢失的问题
附件有:weblogic-web-app.xsd
分享到:
评论
1 楼 Ring2013 2012-11-20  
请问下,我这边现在有个weblogic的问题:一个weblogic(A)环境,一个tomcat(B)环境,进行集成,现在A把B的页面嵌套进来,为什么B有时候嵌套会跳到登入页面(B的登入页面)。但是有时候可以正常嵌套,请问是什么情况。
又把webloic.xml文件的sessionID重新命个名,但是还是没有效果,跳转的时候session还是会变。

相关推荐

    weblogic设置session超时时间

    WebLogic 设置 Session 超时时间 WebLogic 是一个功能强大且流行的 Java 企业级应用服务器,支持多种方式来设置 Session 的超时时间。在本文中,我们将介绍如何在 WebLogic 中设置 Session 超时时间。 Method 1: ...

    weblogic集群配置及session共享

    WebLogic 集群配置及 Session 共享 WebLogic 集群配置是指在多台服务器上部署相同的应用程序,以提高系统的可用性和可扩展性。 Session 共享是指在集群环境中,多台服务器之间共享用户的会话信息,以便在用户在不同...

    weblogic session共享的sql语句_mysql

    weblogic session共享的sql语句_mysql 官方网站提供了DB2、oracle、sqlserver、 如果想要那些数据库,就去官网上看吧, 我这个是mysql的。 都别下错了!

    WebLogic Clusters Session_v1.doc

    【WebLogic集群Session复制详解】 1. **简介** WebLogic集群是Oracle公司提供的一个高可用性和可扩展性的企业级Java EE应用服务器平台。在集群环境中,session复制是确保用户会话在不同节点之间无缝迁移的关键技术...

    weblogic session丢失

    然而,"weblogic session丢失"的问题是一个常见的挑战,可能会影响用户体验和系统稳定性。 问题描述中提到的"NULL"可能意味着在实际运行过程中,WebLogic服务器突然清空或无法识别用户的session,导致用户在操作...

    weblogic 集群,session 复制测试

    测试weblogic 集群环境(session replication)

    Weblogic_10.3集群配置及session共享.doc

    Weblogic_10.3集群配置及session共享,

    WebLogic_SessionBean应用模板

    WebLogic_SessionBean应用模板是基于Java EE平台,特别是Enterprise JavaBeans (EJB)技术的一个典型应用实例,主要用于在Oracle WebLogic Server上构建和部署会话Bean。会话Bean是Java EE中的一个核心组件,它提供了...

    WebLogicServer集群Session复制

    3.1. 集群定义 一个集群就是一组协同工作的WebLogic服务器实例。 集群提供:高可用性、负载均衡、扩展性。 集群图示:图2、图3都是集群在应用环境中的示例。

    tomcat-redis实现session共享

    在现代Web应用中,Session管理是至关重要的,它允许服务器保持与客户端的会话状态。然而,当应用部署在多台服务器上时,单个服务器的Session无法在其他服务器之间共享,导致用户在不同服务器之间切换时需要重新登录...

    WebLogic Server 11g 集群、 Session复制(Windows)

    本文主要探讨的是在Windows环境下如何配置WebLogic Server 11g的集群以及实现Session复制,这对于构建高可用性和负载均衡的Web应用程序至关重要。 首先,集群是将多个独立的WebLogic Server实例组织在一起,它们看...

    Weblogic 10.3集群配置指南与Session持久化

    Weblogic 10.3 集群配置与Session持久化是企业级应用部署的关键环节,它涉及到多个方面的知识,包括Weblogic的基础概念、集群架构、安装配置以及Session的管理和持久化。 1. **Weblogic集群名词解释** - **Domain*...

    weblogic集群下的session复制

    NULL 博文链接:https://best0247.iteye.com/blog/2337855

    配置WebLogic Server 11g集群、Session复制、定时任务(Windows&Linux)

    配置WebLogic Server 11g集群、Session复制、定时任务(Windows&Linux)

    weblogic集群与Session共享.docx

    weblogic集群与Session共享,图文并茂,可视化配置,步骤详细,保姆级教程

    Weblogic负载均衡/Session复制之集群架构之Web应用实例

    Weblogic负载均衡/Session复制之集群架构 中的实例 https://oscar.blog.csdn.net/article/details/104144153

    Weblogic负载均衡/Session复制之集群架构之代理应用实例

    Weblogic负载均衡/Session复制之集群架构 中的代理应用实例 https://oscar.blog.csdn.net/article/details/104144153

Global site tag (gtag.js) - Google Analytics