本文目录一览

1,如何实现一个service

使用数据库同步,或者是调用,现在不少人都使用这样的方法,其一是防止服务器出故障,赞成网站中断,让用户无法访问,其二有人选择是多台服务器不同地方增加访问速度。 我可以帮助你,你先设置我最佳答案后,我百度Hii教你。你的串号我已经记下,采纳后我会帮你制作
在清单文件里(androidmanifest.xml) 不要设置任何launcher 这样在手机上是没有入口可以进去你这个app的 具体不知道你的需求 看看对你有帮助么

如何实现一个service

2,android中service的实现方法是

setAction你这么问的有点笼统吧
android 截屏想要用service后台实现,不用get windows方法,这种方法只能在acitivity截取当前屏幕。。。请高人指点一下啊。。。我...
异步执行 android中,activity、service都是在主线程,service与activity的主要区别就是service没有前台界面,不能直接与用户交互,另外可以相对保证不会被系统随便的kill掉。所以service适用于一些无需交互的后台操作,但如果你直接在service中进行耗时操作的话,因为在主线程所以依然会出现和activity主线程一样的超时的问题,所以好的方式是在service中启动其他的线程去执行耗时操作。

android中service的实现方法是

3,webservice的实现方式有哪些

cxf和axis
web service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得web service能与其他兼容的组件进行互操作。internet inter-orb protocol(iiop)都已经发布了很长时间了,但是这些模型都依赖于特殊对象模型协议,而 web services 利用 soap 和 xml对这些模型在通讯方面作了进一步的扩展以消除特殊对象模型的障碍。web services 主要利用 http 和 soap 协议使业务数据在 web 上传输,soap通过 http 调用业务对象执行远程功能调用,web 用户能够使用 soap 和 http通过 web 调用的方法来调用远程对象的。  实现方式:  第一种:xfire  client client = new client(new url(url)); object[] results = client.invoke(operationname, new object[] ret = (string)results[0] ;  第二种:axis  service service = new service(); call call = (call)service.createcall(); call.settargetendpointaddress(new java.net.url(url));// 设置webservice服务的url地址 call.setoperationname( operationname);// 调用的后台webservice服务的方法为exchange  ret = (string)call.invoke(new object[]   以上两种实现方式,在项目中已经使用了,运行正常。但是项目初期开始用的还是碰到一些问题,如果服务器端是java开发的,用axis掉用服务端的时候,没有问题。如果服务器端是.net开发的,会碰到莫名奇妙的问题,我估计.net服务器端参数配置修改一下应该可以调得通,由于时间紧张,我就没有深究了。换了xfire掉服务器端,结果是两种不同语言实现的系统,都可以调通了。

webservice的实现方式有哪些

4,webservice的实现方式

1c++当然可以实现webservice,这是毋庸置疑的.axis2你知道吗?本质是运行在tomcat下的一个servlet,分java版本,和c语言版本.官方网站为:http://axis.apache.org/,首页上写着:thewellknownapacheaxis,andthethesecondgenerationofit,theapacheaxis2,aretwowebservicecontainersthathelpsuserstocreate,deploy,andrunwebservices.axis2isavaialbleinbothjavaaswellasc,languagesanddetailsabouteachversioncanbefoundbelow.大概意思就是这东西分java版本和c版本,可以方便用户创建,部署,运行webservice.而c++完全是兼容c的.2当然需要服务器,可能要实现某个服务吧,至于怎样为其他平台服务,主要是监听端口实现解析http协议.3你的问题有问题,js不需要拼串成xml,服务器才要拼串,js是运行在客户端的,客户端也不是通过soap与服务端进行通讯的,而是根据需要调用的服务的wsdl,提供对应参数,客户端与服务端的通讯是用http协议的,而通讯方式根据是get还是post把相关参数放到http头或者体中.而webservice之间的通讯才可能用得到soap.4php调用webservice是非常简单的,貌似有个函数通过soap调用.c++编写的webservice肯定有wsdl,可以根据wsdl描述的端口参数,来调用.ps1:我没有做过c++的webservice,只做过java的,但是所有语言都是相同的,基本原理都是一样的,另外webservice最好的做法是对外隐藏的,不能直接调用,应该有个类似调度中心的存在来负责调用,这是一个设计方式.当然直接调用也是可以的,但这种方式效率不高.ps2:c++可以做webservice,但不是很好,缺乏技术支持,软件支持,虽然管道过滤器模型不限制过滤器的实现方式,但怎么说呢,c++就是不适合,毕竟和其他构件存在配合问题,而且开发成本也会相对要高点.现在主流的是c#和java.
Web Service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。Internet Inter-Orb Protocol(IIOP)都已经发布了很长时间了,但是这些模型都依赖于特殊对象模型协议,而 Web Services 利用 SOAP 和 XML对这些模型在通讯方面作了进一步的扩展以消除特殊对象模型的障碍。Web Services 主要利用 HTTP 和 SOAP 协议使业务数据在 Web 上传输,SOAP通过 HTTP 调用业务对象执行远程功能调用,Web 用户能够使用 SOAP 和 HTTP通过 Web 调用的方法来调用远程对象的。  实现方式:  第一种:xfire  Client client = new Client(new URL(url)); Object[] results = client.invoke(operationName, new Object[] ret = (String)results[0] ;  第二种:axis  Service service = new Service(); Call call = (Call)service.createCall(); call.setTargetEndpointAddress(new java.net.URL(url));// 设置webservice服务的url地址 call.setOperationName( operationName);// 调用的后台webservice服务的方法为exchange  ret = (String)call.invoke(new Object[]   以上两种实现方式,在项目中已经使用了,运行正常。但是项目初期开始用的还是碰到一些问题,如果服务器端是java开发的,用axis掉用服务端的时候,没有问题。如果服务器端是.net开发的,会碰到莫名奇妙的问题,我估计.net服务器端参数配置修改一下应该可以调得通,由于时间紧张,我就没有深究了。换了xfire掉服务器端,结果是两种不同语言实现的系统,都可以调通了。

5,java Webservice都有哪几种方式啊哪种方式比较好啊

webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录。1.Axis2Axis是apache下一个开源的webservice开发组件,出现的算是比较早了,也比较成熟。这里主要介绍Axis+eclipse开发webservice,当然不用eclipse也可以开发和发布webservice,只是用eclipse会比较方便。(1)下载eclipse的Java EE版本(2)下载axis2(3)下载eclipse的axis2插件Axis2_Codegen_WizardAxis2_Service_Archiver推荐使用1.3的版本(4)eclipse安装axis2插件1)在任意目录下新建一个Axis2文件夹,在该文件夹下新建eclipse目录,在eclipse目录中新建plugins目录和features目录,例如:D:\programSoftware\eclipse-SVN\Axis2\eclipse;2)把下载的axis2插件解压,并把解压的文件放到新建的eclipse的plugins目录下;3)在%eclipse_home%的目录下新建links目录,并在links目录下新建axis2.link文件,内容为:path=D:\programSoftware\eclipse-SVN\Axis2;4)重启eclipse,点击·file-new-other,如果看到Axis2 Wizards,则表明插件安装成功。(5)安装axis2(6)使用eclipse新建web工程,创建一个普通java类,至少包含一个方法。(7)发布webservice1)点击eclipse的File-New-other,打开Axis2 Wizards,选择Axis2 Service Archiver,然后Next;2)选择Class File Location,也就是类文件存放路径,注意:只选到classes目录,不要包括包文件夹,然后Next;3)选择Skip WSDL,然后Next4)一路Next到Select the Service XML file to be included in the Service archive,勾选Generate theservice xml automatically;5)Service Name-填写你的service名称,Class Name-填写类名称,要包括包名,然后点击load,然后点击Finish,这时webservice就发布成功了;6)然后到%TOMCAT_HOME%/webapps/axis2/WEB-INF/services 看看是否多了一个.aar的文件;注意:以上的方式是发布到axis2.war包中,你也可以把生成.aar文件copy到你的实际应用中,同时,你也可以使用eclipse的create webservice功能发布你的webservice,选择axis2生成你的webservice,这样webservice就会部署到你的应用中了。2.Apche CXFCXF开发webservice也是比较方便和简单的,它和spring的集成可以说是非常地好。举一个CXF开发webservice的例子吧。1)在eclipse中新建一个web工程,导入依赖包,如图:2)编写一个接口,如:注意:CXF开发的webservice,接口中的方法的参数一定要以这种方式,否则客户端调用的时候CXF服务端会接收不到参数的值,name:参数名称,可不写(建议写上),targetNamespace:命名空间,一定要填写上,默认是包名反过来的顺序,mode:参数类型,IN表示输入。3)编写一个实现类,实现接口的方法;4)和spring的集成,编写一个bean文件,如:cxf-beans.xml,内容如下:Cxf-beans.xml代码 <?xml version="1.0" encoding="UTF-8" ?> <import resource="classpath:META-INF/cxf/cxf.xml" /> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> <jaxws:endpoint id="vote" implementor="com.zcl.cxf.service.VoteImpl" address="/Vote" /> </beans> 这个文件比较容易理解,就不解释了。5)配置CXFServlet在web.xml文件中配置CXFServlet,加载cxf-beans.xml文件,内容如下:Web.xml代码 id="WebApp_ID" version="2.5"> <context-param> <param-name>contextConfigLocation</param-name> <param-value>WEB-INF/cxf-beans.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>cxf</servlet-name> <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>cxf</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> </web-app> 把工程部署到中间件,如tomcat,就可以访问该webservice了。3.JDK开发webservice1)编写一个Java类,如下:Jdkwebservice.java代码 package demo; import javax.jws.WebParam; import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebService public class JdkWebService return "Just do it," + value + "!"; } public static void main(String[] args) } } 2)运行该java类,在浏览器上就可以访问该webservice了。注意:开发web工程的时候,这种方法不太友好。我们可以编写一个servlet类,在servlet类的初始化方法中发布webservice,这样我们的中间件服务器启动的时候就会帮我们自动webservice了。 4) xfire开发WebService的框架不少,每个框架都有各自的有点,最近我用xfire练习开发WebService,下面是开发WebService的小例子,希望对入门的人有些小帮助 1.新建一个java web project命名为TestWebService,将xfire相关的jar包添加到lib目录中,写接口类和实现类 Java代码 package com.lamp.service; public interface MessageService public String getName(String name); } [java] view plaincopyprint?package com.lamp.service; public interface MessageService public String getName(String name); } 实现类 Java代码 package com.lamp.service.impl; import com.lamp.service.MessageService; public class MessageServiceImpl implements MessageService public String getName(String name) return "hellow " + name + ", welcome to WebService world"; } } [java] view plaincopyprint?package com.lamp.service.impl; import com.lamp.service.MessageService; public class MessageServiceImpl implements MessageService public String getName(String name) return "hellow " + name + ", welcome to WebService world"; } } 在src目录下新建文件夹META-INF,然后再在其下新建文件夹xfire,在xfire目录下新建配置文件services.xml Xml代码 <?xml version="1.0" encoding="UTF-8"?> <service> <name>MessageService</name> <serviceClass>com.lamp.service.MessageService</serviceClass> <implementationClass>com.lamp.service.impl.MessageServiceImpl</implementationClass> </service> </beans> [xml] view plaincopyprint?<?xml version="1.0" encoding="UTF-8"?> <service> <name>MessageService</name> <serviceClass>com.lamp.service.MessageService</serviceClass> <implementationClass>com.lamp.service.impl.MessageServiceImpl</implementationClass> </service> </beans> 最后在web.xml中配置xfire的servlet Xml代码 <servlet> <servlet-name>XFireServlet</servlet-name> <servlet-class> </servlet-class> </servlet> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/servlet/XFireServlet/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> [xml] view plaincopyprint?<servlet> <servlet-name>XFireServlet</servlet-name> <servlet-class> </servlet-class> </servlet> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/servlet/XFireServlet/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> 这样服务器端开发完毕,现在开始客户端的开发 新建一个java project也将xfire相关的jar引入,我用ant在客户端生成代理对象,在项目路径下新建build.xml,代码为 Xml代码 <?xml version="1.0" encoding="UTF-8"?> <project name="WebService" basedir="." default="gen-webservice"> <property file="build.properties"> </property> <path id="project-classpath"> <fileset dir="$ <include name="**/*.jar" /> </fileset> </path> <target name="gen-webservice"> <taskdef name="wsgen" classname="org.codehaus.xfire.gen.WsGenTask" classpathref="project-classpath" /> <wsgen outputDirectory="$ wsdl="$ </target> </project> [xml] view plaincopyprint?<?xml version="1.0" encoding="UTF-8"?> <project name="WebService" basedir="." default="gen-webservice"> <property file="build.properties"> </property> <path id="project-classpath"> <fileset dir="$ <include name="**/*.jar" /> </fileset> </path> <target name="gen-webservice"> <taskdef name="wsgen" classname="org.codehaus.xfire.gen.WsGenTask" classpathref="project-classpath" /> <wsgen outputDirectory="$ wsdl="$ </target> </project>
cxf好些,可与spring、EJB等实现良好的结合。用cxf实现jaas也很简单
其实都是一种方式,axis2也是实现的JAX-WS,接口是一样的。用和部署环境一致的库。不过这些也大都兼容。
这个有好多种最常用是xfire 这是企业现在都在用的,不过比较老了,但非常稳定,还用就是cxf这个也是企业在用的,这个功能比较多,传输图片流都可以,axis也还行,不过我没用过,如果你只是轻量级的完全可以用httpclient方式实现,这是现在用的最多的,也是最方便的,也可以考虑用消息对列如:mq, 像 apache active mq就不错,我以前用过,比IBM收费的mq都好用。看你怎么定吧。如果不是大项目,Webservice是有些重的。最重要的一点,如果对Webservice不熟悉,请写好代码后, 做一下压力测试。不然,你可能不知道自己怎么死的。
这个接口如果是开放提供给其他程序调用,如c、php等不确定编程语言,那就用axis2;如果调用方也全部是java语言,用cxf
(1)在主页面或者公共页面中加入:session.setmaxinactiveinterval(900);参数900单位是秒,即在没有活动15分钟后,session将失效。 这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端。所以如果是在调试程序,应该是修改服务器端时间来测试,而不是客户端。 (2)也是比较通用的设置session失效时间的方法,就是在项目的web.xml中设置 1 (3)直接在应用服务器中设置,如果是tomcat,可以在tomcat目录下conf/web.xml中找到元素,tomcat默认设置是30分钟,只要修改这个值就可以了。

文章TAG:service  实现  方法  如何  service的实现方法是  
下一篇