|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Java编译的是字节码,跟C++相反,启动不够快,效率不够高,难以精确控制内存,但是优点是编程比C++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试)
在《WebService年夜课堂之Axis2(5):会话(Session)办理》一文中先容了怎样利用Axis2来办理统一个服务的会话,但关于一个庞大的体系,不成能只要一个WebService服务,比方,最少会有一个办理用户的WebService(用户登录和注册)和处置营业的WebService。象这类情形,就必需在多个WebService服务之间共享会话形态,也称为跨服务会话(Session)办理。完成跨服务会话办理与完成统一个服务的会话办理的步骤相似,但仍旧有一些不同,完成跨服务会话办理的步骤以下:
完成跨服务的Session办理必要以下三步:
1.利用MessageContext和ServiceGroupContext取得与设置key-value对。
2.为要举行Session办理的WebService类所对应的<service>元素增加一个scope属性,并将该属性值设为application。
3.在客户端利用setManageSession(true)翻开Session办理功效。
从下面的步骤能够看出,完成跨服务会话办理与完成统一个服务的会话办理在前两步上存在着差别,而第3步是完整一样的。上面是一个跨服务的会话办理的实例。在这个例子中有两个WebService类:LoginService和SearchService,代码以下:
LoginService.java- packageservice;
- importorg.apache.axis2.context.MessageContext;
- importorg.apache.axis2.context.ServiceGroupContext;
- publicclassLoginService
- {
- publicbooleanlogin(Stringusername,Stringpassword)
- {
- if("bill".equals(username)&&"1234".equals(password))
- {
- //第1步:设置key-value对
- MessageContextmc=MessageContext.getCurrentMessageContext();
- ServiceGroupContextsgc=mc.getServiceGroupContext();
- sgc.setProperty("login","乐成登录");
- returntrue;
- }
- else
- {
- returnfalse;
- }
- }
- publicStringgetLoginMsg()
- {
- //第1步:取得key-value对中的value
- MessageContextmc=MessageContext.getCurrentMessageContext();
- ServiceGroupContextsgc=mc.getServiceGroupContext();
- return(String)sgc.getProperty("login");
- }
- }
复制代码 <p>
在ruby里才是一切皆对象。当然我不并不是很了解ruby,但是ruby确实是将语法简化得很好。 |
|