j2ee中webservice示例一之发布webservice

本文详细介绍了如何使用Struts框架、Java Web服务接口(WebService)和Apache CXF库来发布Web服务,包括核心类代码解析、配置及部署过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要类代码如下:

DemoAction.java:

package com.xy6;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class DemoAction extends Action{

	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {

		this.publishServer1();

		ActionForward forward = new ActionForward();
		forward = mapping.findForward("success");
		return forward;
	}

	/**
	 * 发布webservice接口,法一
	 */
	private void publishServer1(){
		Server server = new Server();
		server.server();
	}

}
DemoForm.java:
package com.xy6;

public class DemoForm {

	String username;

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

}
HelloWorldServiceInf.java:
package com.xy6;

import javax.jws.WebService;
import javax.jws.WebParam;

@WebService
public interface HelloWorldServiceInf {

	/**
	 * @param username
	 * @return
	 */
	String sayHello(@WebParam(name="username") String username);

	/**
	 * @param form
	 * @return
	 */
	String sayHi(@WebParam(name="form") DemoForm form);
}
Server.java:

package com.xy6;

import javax.jws.WebService;

import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;

@WebService(endpointInterface="com.xy6.HelloWorldServiceInf",serviceName="helloWorldService")
public class Server implements HelloWorldServiceInf{

	public String sayHello(String username){
		return "hello," + username;
	}

	public String sayHi(DemoForm form){
		form.setUsername("form");
		return "hello,form";
	}

	 public void server() {
		JaxWsServerFactoryBean factoryBean = new JaxWsServerFactoryBean();
		factoryBean.setAddress("http://localhost:8080/webservice1");
		factoryBean.setServiceClass(HelloWorldServiceInf.class);
		factoryBean.setServiceBean(new Server());
		factoryBean.getInInterceptors().add(new LoggingInInterceptor());
		factoryBean.create();
	}
}
在浏览器中访问http://localhost:9001/web/demo.do时,会执行DemoAction类,从而发布web服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值