zoukankan      html  css  js  c++  java
  • webService之helloword(web)

    spring 整合webservice

    pom.xml文件

    	<dependencies>
    		<!-- CXF WS开发 -->
    		<dependency>
    			<groupId>org.apache.cxf</groupId>
    			<artifactId>cxf-rt-frontend-jaxws</artifactId>
    			<version>3.0.1</version>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-context</artifactId>
    			<version>4.1.7.RELEASE</version>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-web</artifactId>
    			<version>4.1.7.RELEASE</version>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-test</artifactId>
    			<version>4.1.7.RELEASE</version>
    		</dependency>
    		<dependency>
    			<groupId>junit</groupId>
    			<artifactId>junit</artifactId>
    			<version>4.12</version>
    		</dependency>
    
    	</dependencies>
    	<build>
    		<plugins>
    			<plugin>
    				<groupId>org.codehaus.mojo</groupId>
    				<artifactId>tomcat-maven-plugin</artifactId>
    				<version>1.1</version>
    				<configuration>
    					<port>9998</port>
    				</configuration>
    			</plugin>
    		
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.3.2</version>
                    <configuration>
                        <source>1.7</source>
                        <target>1.7</target>
                    </configuration>
                </plugin>
            </plugins>
    	</build>
    

      web.xml文件

     <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
      </context-param>
      <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>
      <servlet>
        <servlet-name>CXFService</servlet-name>
        <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>CXFService</servlet-name>
        <url-pattern>/services/*</url-pattern>
      </servlet-mapping>
    

      applicationContext.xml文件

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
    	xsi:schemaLocation="
    	http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    	http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
    
    	<!-- 
    		
    		serviceClass 服务接口
    		address 服务访问地址 
    	 -->
    	<jaxws:server id="userService" address="/userService" 
    		serviceClass="com.baidu.service.UserService">
    		<jaxws:serviceBean>
    			<bean class="com.baidu.service.imp.UserServiceImp" />
    		</jaxws:serviceBean>
    	</jaxws:server>
    	
    </beans>
    

      

    包结构

      UserService接口

    package com.baidu.service;
    
    import javax.jws.WebMethod;
    import javax.jws.WebService;
    
    import com.baidu.domain.User;
    
    @WebService
    public interface UserService {
    	@WebMethod
    	public User get(Integer id);
    	@WebMethod
    	public void eat();
    }
    

      UserServiceImp实现类

    package com.baidu.service.imp;
    
    import javax.jws.WebMethod;
    import javax.jws.WebService;
    
    import com.baidu.domain.User;
    import com.baidu.service.UserService;
    @WebService
    public class UserServiceImp implements UserService {
    
    	public User get(Integer id) {
    		if(id==1){
    			User u=new User();
    			u.setId(2);
    			u.setName("张三");
    			return u;
    		}
    		return null;
    	}
    
    	@Override
    	public void eat() {
    		System.out.println("123");
    		
    	}
    
    }
    

      新建一个maven web project项目

    pom.xml文件不变

    applicationContext.xml文件

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
    	xsi:schemaLocation="
    	http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    	http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
    
    	<!-- 
    		address 客户端访问服务路径 
    		serviceClass 配置接口
    		serviceBean 配置实现类 -->
    	<jaxws:client id="userServiceClient" 
    		serviceClass="com.baidu.service.UserService" 
    		address="http://localhost:9998/werservicespring/services/userService" >
    		<!-- 来源消息拦截器
    		<jaxws:inInterceptors>
    			<bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
    		</jaxws:inInterceptors> -->
    		<!-- 输出消息拦截器 
    		<jaxws:outInterceptors>
    			<bean class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
    		</jaxws:outInterceptors>-->
    	</jaxws:client>
    	
    	
    	
    </beans>  

    在测试之前需要创建接口  包结构也需要一样

    package com.baidu.service;
    
    import javax.jws.WebMethod;
    import javax.jws.WebService;
    
    import com.baidu.domain.User;
    
    @WebService
    public interface UserService {
    	@WebMethod
    	public User get(Integer id);
    	@WebMethod
    	public void eat();
    }
    

      

    测试类

    package com.baidu.test;
    
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.test.context.ContextConfiguration;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    
    import com.baidu.domain.User;
    import com.baidu.service.UserService;
    
    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations="classpath:applicationContext.xml")
    public class Test01 {
    	@Autowired
    	private UserService userService;
    	@Test
    	public void test01(){
    		//userService.eat();
    		User user = userService.get(1);
    		System.out.println(user);
    	}
    }
    

      

  • 相关阅读:
    C# 生成 DataMatrix 格式的二维码
    Matlab如何连接Oracle数据库及基本操作
    Matlab调用返回游标的存储过程的分析和处理
    Matlab 调用Oracle数据库
    安装discourse
    设置HttponlyCookie解决mshtml编程无法获取验证码图片流
    C#通过COM组件操作IE浏览器(四):实用代码总结
    C#通过COM组件操作IE浏览器(三):了解IHTMLDocument2
    C#通过COM组件操作IE浏览器(二):使用IHTMLDocument3完成登录
    C#通过COM组件操作IE浏览器(一):打开浏览器跳转到指定网站
  • 原文地址:https://www.cnblogs.com/fjkgrbk/p/webService_web.html
Copyright © 2011-2022 走看看