`

使用json+jquery模拟股票涨停

阅读更多
Stock.java

public class Stock {
    private String name;
    private String id;
    private double yestdayPrice;
    private double todayPrice;
    private double nowPrice;
    public Stock(String name, String id, double yestdayPrice, double todayPrice) {
        this.name = name;
        this.id = id;
        this.yestdayPrice = yestdayPrice;
        this.todayPrice = todayPrice;
        this.nowPrice = todayPrice;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public double getYestdayPrice() {
        return yestdayPrice;
    }
    public void setYestdayPrice(double yestdayPrice) {
        this.yestdayPrice = yestdayPrice;
    }
    public double getTodayPrice() {
        return todayPrice;
    }
    public void setTodayPrice(double todayPrice) {
        this.todayPrice = todayPrice;
    }
    public double getNowPrice() {
        return nowPrice;
    }
    public void setNowPrice(double nowPrice) {
        this.nowPrice = nowPrice;
    }
    public String toString(){
        return this.name + ": " + this.nowPrice;
    }
}


StockServlet.java

public class TestStockServlet extends HttpServlet {
    /**
* 
*/
private static final long serialVersionUID = 1L;
private HashMap<String,Stock> Stocks;

    protected void doPost(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {

       doGet(httpServletRequest, httpServletResponse);

    }

    @Override

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //设置随机数
        double sz = Math.random() * 20;
        double pf = Math.random() * 0.5;

        //根据随机数的奇偶来判断上涨还是下跌
        boolean flagsz = ((int)(Math.random() * 10)) % 2 == 0;
        boolean flagpf = ((int)(Math.random() * 10)) % 2 == 0;
        Stock szzs = Stocks.get("00001");
        Stock pufa = Stocks.get("00002");
        double temp;
        //对股票当前指数进行加减
        if(flagsz) {
            temp = szzs.getNowPrice() + sz;
        }else{
            temp = szzs.getNowPrice() - sz;
        }
        //取小数点后两位
        temp = ((int)(temp * 100) /100.0);
        szzs.setNowPrice(temp);

        if(flagpf) {
            temp = pufa.getNowPrice() + pf;
        }else{
            temp = pufa.getNowPrice() - pf; 
        }
        temp = ((int)(temp * 100) /100.0);
        pufa.setNowPrice(temp);

        response.setContentType("text/html;charset=gbk");
        PrintWriter out = response.getWriter();
        //out.println(szzs + "<br/>" + pufa);
        //采用json的数据格式返回股票信息
        StringBuilder builder = new StringBuilder();
        //数组的方式回传两个股票对象
       builder.append("[{ name:\" ").append(szzs.getName()).append(" \",")
               .append("id: \"").append(szzs.getId()).append(" \",")
               .append("yes: ").append(szzs.getYestdayPrice()).append(" ,")
               .append("tod: ").append(szzs.getTodayPrice()).append(" ,")
               .append("now: ").append(szzs.getNowPrice()).append(" },")
               .append("{ name: \"").append(pufa.getName()).append(" \",")
               .append("id: \"").append(pufa.getId()).append(" \",")
               .append("yes: ").append(pufa.getYestdayPrice()).append(" ,")
               .append("tod: ").append(pufa.getTodayPrice()).append(" ,")
               .append("now: ").append(pufa.getNowPrice()).append(" }]");
        out.println(builder);
        
        System.out.println(builder);
    }


    @Override

    public void init() throws ServletException {
        Stocks = new HashMap<String,Stock>();
        Stock szzs = new Stock("上证指数","00001",3000.0,2999.0);
        Stock pufa = new Stock("浦发银行","00002",25.0,24.0);
        Stocks.put(szzs.getId(),szzs);
        Stocks.put(pufa.getId(),pufa);
        System.out.println(Stocks);
    }

}

stock.js:

$(document).ready(function(){
    getInfo();
    //每隔一秒和服务器进行交互
    setInterval(getInfo,1000);
});


function getInfo(){
    //向服务器端发起请求,获取数据
     $.get("/test/TestStockServlet",null,function(data){
        //接收数据, 解析数据
        var obj = eval(data);
        //获取两个对象
        var szzs = obj[0];
        var pufa = obj[1];
        //找到页面对应的节点,填充股票价格
       var span1 = $("#00001").children("span");
         span1.html(szzs.now);
         if(szzs.now > szzs.yes){
             span1.css("color","red");
         }else{
             span1.css("color","green");
         }
       var span2 = $("#00002").children("span");
         span2.html(pufa.now);
         if(pufa.now > pufa.yes){
             span2.css("color","red");
         }else{
             span2.css("color","green");
         }
    });
}

Stock.html:

<html>

<head>

    <title></title>

    <script type="text/javascript" src="../js/jquery.js"></script>

    <script type="text/javascript" src="jquerystock.js"></script>

</head>

<body>

      <div id="00001"><a href="#">上证指数:</a><span></span></div>

      <div id="00002"><a href="#">浦发银行:</a><span></span></div>

</body>

</html>

 

分享到:
评论

相关推荐

    json+jquery+struts2+hibernate+spring 实现的小型bbs系统,这个提供包

    json+jquery+struts2+hibernate+spring 实现的小型bbs系统,这个提供包 ,很不错的下载后,好好徐希一下吧

    Struts2+JSON+JQuery实现简单的验证

    Struts2、JSON和JQuery是Web开发中的三个关键技术,它们常常被结合使用来构建高效、动态的用户界面。在本教程中,我们将探讨如何利用这些技术实现一个简单的验证功能。 首先,Struts2是一个基于MVC(Model-View-...

    项目组管理系统,Java+json+jQuery+ajax

    这个系统结合了JSON、jQuery和Ajax技术,以实现动态数据交互和用户友好的界面体验。 首先,我们来详细了解Java在这个系统中的作用。Java是一种广泛应用于服务器端开发的编程语言,具有跨平台特性,使得开发的系统...

    ssi+json+jquery 案例

    标题中的"SSI+JSON+jQuery案例"表明这是一个关于服务器端包含(SSI)、JavaScript对象表示法(JSON)以及jQuery JavaScript库的实际应用示例。这个项目可能是为了演示如何在Web开发中结合这三个技术,以提高效率和...

    Springmvc+maven+ajax+jquery+json+mybatis登录增删改查详细注释

    Springmvc+maven+ajax+jquery+json+mybatis做的登录,注册,增删改查详细注释,大家可以来一下,看看对自己有没有帮助哈,这是我自己一点点的打的,采用MyEclipse 10运行出来.并且付有sql脚本.可直接导入运行.并且经本人...

    json+jquery+struts2+ajax

    struts2 json jquery ajax实现用户登陆及业面跳转

    SSH+jQuery+json 实现的Ajax操作,绝对精华,代码简练清晰,绝对能看明白

    这个压缩包中的资源,"SSH+jQuery+json 实现的Ajax操作,绝对精华,代码简练清晰,绝对能看明白",显然提供了一个使用这些技术实现Ajax级联操作的实例。下面将详细介绍这些技术及其在Ajax操作中的应用。 **SSH ...

    struts2+json+jquery局部刷新实现注册验证

    struts2+json+jquery局部刷新实现注册验证,包括前台的用户名、密码、手机、身份证、邮箱(包含发邮件技术)、邮箱验证码、验证码的验证,用到的是json+jquery,后台则是用struts2+java类

    json +jquery DEMO AJAX

    例如,使用jQuery发送一个AJAX GET请求获取JSON数据: ```javascript $.get('your_server_url', function(data) { var jsonData = JSON.parse(data); // 处理返回的JSON数据 console.log(jsonData); }, 'json');...

    JSON+Jquery+servlet+jsp+ajax例子

    在JSON+Jquery的例子中,jQuery通常用于处理JSON数据,如解析来自服务器的JSON响应,并动态更新页面内容。 Servlet是Java Web应用程序的一部分,运行在服务器端,负责处理HTTP请求并生成响应。在与JSON、AJAX和JSP...

    J2EE中JSON+Jquery_AJAX应用

    JSON+Jquery_AJAX,你值得下载,最好的说明,最好的描述

    ssh整合+JSON+Jquery+Ajax

    SSH整合指的是Spring、Struts和Hibernate这三大框架的集成应用,它们是...这些文件共同构成了一个完整的SSH+JSON+Jquery+Ajax的示例应用,展示了如何在实际开发中有效地组合使用这些技术,以实现高效、互动的Web应用。

    一个简单的struts2+json+jquery 交互的例子

    总结来说,这个例子展示了如何利用Struts2处理后端业务逻辑,使用JSON作为数据交换格式,以及通过jQuery在前端实现动态更新和与服务器的异步通信。了解和掌握这三个工具的整合使用,对于提升Web开发效率和用户体验...

    struts2+json+jquery实现ajax数据的存取

    "Struts2+JSON+jQuery实现Ajax数据的存取"就是一个典型的示例,它结合了强大的MVC框架Struts2、轻量级的数据交换格式JSON以及高效的前端库jQuery,以实现网页上的无刷新数据交互。下面将详细介绍这三个技术及其在...

    struts2.2.x+json+jquery完全整合

    该例子已使用一年多,绝对完全整合,达到理想效果。至今还有很多朋友问到关于struts2.2.x+json+jquery 的整合,觉得还是有必要将自己收集的拿出来,免得让大家走弯路,避免浪费不必要的精力与时间。

    java+ajax+json+jquery完整实例

    这个“java+ajax+json+jquery完整实例”提供了一个实际的应用场景,展示了如何将这些技术有效地结合在一起。下面,我们将详细讨论这些技术以及在这个实例中的应用。 1. **Java**:Java是一种广泛使用的面向对象的...

    struts2.1.8+json+jquery1.3实现ajax

    在这个项目中,`struts2.1.8+json+jquery1.3实现ajax`,开发者可能做以下步骤: 1. 配置Struts2:首先,需要在Struts2的配置文件(struts.xml)中配置Action,指定返回JSON类型的结果。这通常通过在Action类的方法上...

    json+jsp+jQuery小例子

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式,但也使用了类似于C家族语言(包括JavaScript)的习惯,这使得它对程序员来说非常直观。JSON是纯文本,易于人阅读...

    SpringMVC+JSON+mybatis+jQuery+Ajax+Maven做的无刷新登录,注册,修改密码以及校验并且赋有详细注释,以及增删改查功能

    注:此项目是用IntelliJ IDEA 13.1.3此软件编写而成,不过和myeclipse都差不多,本项目包含SpringMVC+JSON+mybatis+jQuery+Ajax+Maven做的无刷新登录,注册,修改密码,拦截器,如果用户没有登录则不能进行相应操作...

Global site tag (gtag.js) - Google Analytics