• 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访问该地址

    知止而后有定,定而后能静,静而后能安,安而后能虑,虑而后能得
  • 相关阅读:
    雷林鹏分享:EJB安全
    雷林鹏分享:EJB事务管理
    雷林鹏分享:EJB Blobs/Clobs
    雷林鹏分享:EJB嵌入对象
    雷林鹏分享:EJB拦截器
    Linux 学习
    数学知识总结
    信贷风控模型开发----模型流程&好坏样本定义
    信贷风控模型开发----模型简介
    TreeMap源码剖析
  • 原文地址:https://www.cnblogs.com/taoHongFei/p/8953390.html
Copyright © 2020-2023  润新知