websphere中发布ear包设置在多个war包中session共享

但多个项目需要共享session时,将多个项目合并为1个ear包,每个项目为一个war包,并按如下配置后,发布到was6.1中就可以实现共享session了。

用eclipse导出ear包是,在包中已生成META-INF/application.xml文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<application id="Application_ID" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
  <display-name>web_all</display-name>
  <module id="myeclipse.1330415776234">
    <web>
      <web-uri>web1.war</web-uri>
      <context-root>/web1</context-root>
    </web>
  </module>
  <module id="myeclipse.1330415810375">
    <web>
      <web-uri>web2.war</web-uri>
      <context-root>/web2</context-root>
    </web>
  </module>
</application>

注意生成是没有id="Application_ID",是后来加的。

然后手工在META-INF/文件夹下添加如下两个配置文件:

ibm-application-bnd.xmi

<?xml version="1.0" encoding="UTF-8"?>
<applicationbnd:ApplicationBinding xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:applicationbnd="applicationbnd.xmi" xmlns:common="common.xmi" xmlns:application="application.xmi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:id="Application_ID_Bnd">
<appName xsi:nil="true"/>
<application href="META-INF/application.xml#Application_ID"/>
</applicationbnd:ApplicationBinding>

ibm-application-ext.xmi

<?xml version="1.0" encoding="UTF-8"?>
<applicationext:ApplicationExtension xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:applicationext="applicationext.xmi" xmlns:application="application.xmi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:id="Application_ID_Ext" sharedSessionContext="true">
<application href="META-INF/application.xml#Application_ID"/>
</applicationext:ApplicationExtension>

其中sharedSessionContext="true",就是说明要开启共享session。

(was6.1可以在IBM网站中下载was_cd_6103_trial_express_windows_ia32.zip),最好在win2003中测试,本人使用virtualbox安装的一个win2003。

部署了一个web_all其中包含we1网站和web2网站

websphere中发布ear包设置在多个war包中session共享_第1张图片

websphere中发布ear包设置在多个war包中session共享_第2张图片

在web1的login.jsp登陆,后台把用户名和密码写入session


点击登陆后保存到session,并在页面中读取:


访问web2看是否能获取session

websphere中发布ear包设置在多个war包中session共享_第3张图片

实验成功!项目下载地址http://download.csdn.net/detail/tomatozq/4098351

你可能感兴趣的:(Web,session,application,express,websphere,encoding)