zoukankan      html  css  js  c++  java
  • web service----查看股票走势

    接前面两个记录

    项目需要用到web service相关技术,调研过程中的实例学习记录。

    第一步:需要有股票服务的网址。。。网上自己百度

    http://www.webxml.com.cn/webservices/ChinaStockSmallImageWS.asmx

    第二步:在刚才的网址后面加?wsdl

    第三部:找到资源后,开始建立项目

    new 一个java项目,命名****_client,随意就行

    然后在src下面新建一个包   stock

     然后在命令窗口里面执行如下

    这条命令可以生成一个webservice 客户端,在解析wsdl的过程中可能有warning,只要不出现错误就可以不用管它

    编译代码结束后,查看你刚刚建立的那个stock包下面,生成了很多文件

     

     之后的工作就是调用这些文件来实现自己的需求功能

    package stock;
    
    import java.util.List;
    
    public class GetStockInfoTest {
        /**
         * 测试
         * */
        public static void main(String[] args){
            //调用股票的服务
            ChinaStockWebService service=new ChinaStockWebService();
            //创建ChinaStockWebServiceSoap对象
            ChinaStockWebServiceSoap serviceSoap=service.getChinaStockWebServiceSoap();
            //获取股票数据
            ArrayOfString array=serviceSoap.getStockInfoByCode("sz000001");
            //变量股票信息
            List<String> stockList=array.getString();
            for(String str:stockList)
            {
                System.out.println(str);
                System.out.println("********************************");
    
            }
    
    
        }
    }

     运行结果如下:

    为了更好的看看生成的那些文件的功能,再测试一下调用股票的走势图的信息

    定义一个服务的接口StockService

    package stock;
    
    /**
     * @author thf
     * 自定义服务接口
     * */
    public interface StockService {
        //显示股票的走势图
        public byte[] getStockByte(String stockCode);
    
    }

    定义实现服务接口的类

    package stock;
    /**
     * @author thf
     * 服务接口实现类
     * */
    public class StockServiceImp implements StockService {
    
        @Override
        public byte[] getStockByte(String stockCode) {
            //调用股票的服务
            ChinaStockWebService service=new ChinaStockWebService();
            //创建ChinaStockWebServiceSoap对象
            ChinaStockWebServiceSoap serviceSoap=service.getChinaStockWebServiceSoap();
    
            return serviceSoap.getStockImageByteByCode(stockCode);
        }
    }

    控制层:

    package stock;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.io.OutputStream;
    
    @WebServlet(name = "GetStockImageServlet ")
    public class GetStockImageServlet extends HttpServlet {
        private static final long serialVersionUID=1L;
        //new 一个服务接口实现类的对象ss
        private StockServiceImp ss=new StockServiceImp();
    
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request,response);
        }
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            byte[] imgeByte=ss.getStockByte("sh601169");
            response.setHeader("content-type","image/jpeg");
            OutputStream os=response.getOutputStream();
            os.write(imgeByte);
        }
    }

    这里要映射servlet的地址哈,然后启动tomcat访问该地址

    知止而后有定,定而后能静,静而后能安,安而后能虑,虑而后能得
  • 相关阅读:
    HDU 1863 畅通工程(Kruskal)
    HDU 1879 继续畅通工程(Kruskra)
    HDU 1102 Constructing Roads(Kruskal)
    POJ 3150 Cellular Automaton(矩阵快速幂)
    POJ 3070 Fibonacci(矩阵快速幂)
    ZOJ 1648 Circuit Board(计算几何)
    ZOJ 3498 Javabeans
    ZOJ 3490 String Successor(模拟)
    Java实现 LeetCode 749 隔离病毒(DFS嵌套)
    Java实现 LeetCode 749 隔离病毒(DFS嵌套)
  • 原文地址:https://www.cnblogs.com/taoHongFei/p/8953390.html
Copyright © 2011-2022 走看看