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);
    	}
    }
    

      

  • 相关阅读:
    oracle的安装与plsql的环境配置
    Working with MSDTC
    soapui-java.lang.Exception Failed to load url
    Oracle 一个owner访问另一个owner的table,不加owner
    Call API relation to TLS 1.2
    Call API HTTP header Authorization: Basic
    VS2008 .csproj cannot be opened.The project type is not supported by this installat
    The changes couldn't be completed.Please reboot your computer and try again.
    Create DB Table View Procedure
    DB Change
  • 原文地址:https://www.cnblogs.com/fjkgrbk/p/webService_web.html
Copyright © 2011-2022 走看看