WebService大讲堂之Axis2(6):跨服务会话(Session)管理

WebService大讲堂之Axis2(6):跨服务会话(Session)管理

ID:37908341

大小:34.00 KB

页数:6页

时间:2019-06-02

WebService大讲堂之Axis2(6):跨服务会话(Session)管理_第1页
WebService大讲堂之Axis2(6):跨服务会话(Session)管理_第2页
WebService大讲堂之Axis2(6):跨服务会话(Session)管理_第3页
WebService大讲堂之Axis2(6):跨服务会话(Session)管理_第4页
WebService大讲堂之Axis2(6):跨服务会话(Session)管理_第5页
资源描述:

《WebService大讲堂之Axis2(6):跨服务会话(Session)管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、本文为原创,如需转载,请注明作者和出处,谢谢!上一篇:WebService大讲堂之Axis2(5):会话(Session)管理在《WebService大讲堂之Axis2(5):会话(Session)管理》一文中介绍了如何使用Axis2来管理同一个服务的会话,但对于一个复杂的系统,不可能只有一个WebService服务,例如,至少会有一个管理用户的WebService(用户登录和注册)以及处理业务的WebService。象这种情况,就必须在多个WebService服务之间共享会话状态,也称为跨服务会话(Session

2、)管理。实现跨服务会话管理与实现同一个服务的会话管理的步骤类似,但仍然有一些差别,实现跨服务会话管理的步骤如下:实现跨服务的Session管理需要如下三步:1. 使用MessageContext和ServiceGroupContext获得与设置key-value对。2. 为要进行Session管理的WebService类所对应的元素添加一个scope属性,并将该属性值设为application。3. 在客户端使用setManageSession(true)打开Session管理功能。从上面的步骤可

3、以看出,实现跨服务会话管理与实现同一个服务的会话管理在前两步上存在着差异,而第3步是完全一样的。下面是一个跨服务的会话管理的实例。在这个例子中有两个WebService类:LoginService和SearchService,代码如下:LoginService.javapackage service;import org.apache.axis2.context.MessageContext;import org.apache.axis2.context.ServiceGroupContext;public cla

4、ss LoginService{    public boolean login(String username, String password)    {                if("bill".equals(username) && "1234".equals(password))        {            //  第1步:设置key-value对            MessageContext mc = MessageContext.getCurrentMessageContex

5、t();            ServiceGroupContext sgc = mc.getServiceGroupContext();            sgc.setProperty("login", "成功登录");                return true;        }        else        {            return false;        }    }        public String getLoginMsg()    {       /

6、/  第1步:获得key-value对中的value        MessageContext mc = MessageContext.getCurrentMessageContext();        ServiceGroupContext sgc =  mc.getServiceGroupContext();        return (String)sgc.getProperty("login");        }}SearchService.javapackage service;import or

7、g.apache.axis2.context.MessageContext;import org.apache.axis2.context.ServiceGroupContext;public class SearchService{    public String findByName(String name)    {        //  第1步:获得key-value对中的value        MessageContext mc = MessageContext.getCurrentMessageCo

8、ntext();        ServiceGroupContext sgc =  mc.getServiceGroupContext();                        if (sgc.getProperty("login") != null)            return "找到的数据<" + name + ">";       

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。