学习Web Services从哪里入手?大家给我些知道建议吧。
解决方案 »
- hibernate+struts2+spring项目连接网络运行项目没问题,但断开网络时报错
- spring与dwr整合,点击页面没有反映
- 菜鸟来求教之一_关于为何要用工厂代替new
- 寻基于J2EE架构下的博客、播客系统
- 如何下载struts开发所需软件包
- JSP+Servlet的服务器配置问题!
- CMP 中ejbfind...返回值是一个实例的集合吗,还是其它的??
- Mastering EJB(II) 中的例子运行出现怪问题,请指教
- 总是提示Oracle.jdbc.driver.oracledriver could not be loaded,帮忙呀
- 在EJB中只能指定一个数据源,那请问SessionBean如何操作多个数据库中的信息呢?
- UML中有哪些静态图?那些动态图?
- webservices中如何在客户端的代码中加入要进行验证的用户名和密码!谢
如果会用 netbean 的话, 很方便就能创出自己的第一个 web service ,然后慢慢深入吧。
public interface IBasic {
/**
* 测试字符串
* @return
*/
public String hello();
/**
* 取一辆汽车 测试对象传递
* @return
*/
public Car getCar();
}
当然接口中用到的Car 这个类是自己定义的包含任何属性的标准JAVABEAN;接下来我们就开始做service端的程序了:java 代码
/**
* Created by IntelliJ IDEA.
* User: tangkf
*/
public class BasicService implements IBasic {
private String hello= "Hello, world";
public String hello()
{
return hello;
}
public Car getCar() {
Car car = new Car();
car.setColor("RED红色");
car.setLength("2400");
car.setName("HAHACHE");
return car;
}
}
服务器端的程序写好后,要让client能够通过http协议访问到我们的service还需要配置servlet,当然这个过程是很简单的xml 代码
<servlet>
<servlet-name>helloservlet-name>
<servlet-class>com.caucho.hessian.server.HessianServletservlet-class>
<init-param>
<param-name>home-classparam-name>
<param-value>study.hessian.BasicServiceparam-value>
init-param>
<init-param>
<param-name>home-apiparam-name>
<param-value>study.hessian.IBasicparam-value>
init-param>
servlet>
<servlet-mapping>
<servlet-name>helloservlet-name>
<url-pattern>/hellourl-pattern>
servlet-mapping>
只需要将上面的代码加入到你的WEB.XML文件中,当然包路径是你自己的路径而已.这时服务器段的工作就已经全部完成了. 接下来我们在做client端的工作,client需要用到IBasic 这个接口,还需要用到 Car 这个类可以做一个简单的测试:java 代码
public class BasicClient {
public static void main(String []args)
throws Exception
{
String url = "http://127.0.0.1:8099/common/hello";
HessianProxyFactory factory = new HessianProxyFactory();
Basic basic = (Basic) factory.create(Basic.class, url);
Car car = basic.getCar();
System.out.println("Hello: " + basic.hello());
System.out.println("Hello: " + car.toString());
}
}
大功告成,启动我们的WEB服务器,然后在启动这个client的程序,是不是发现屏幕上输出了你想看到的结果!要是抛异常了怎么办? 不要急,检查下包路径,.xml文件的配置,没有什么神奇的地方.