问题篇
======
我虚构了一个股票应用页面,在这个页面上,用户可以看到他持有的多个市场的股票、基金等的当前价格,并可以看到他在每个市场持有的股票总市值,以及合计的总市值。
大体如下例:
沪市A股
-------------------------------------------
名称 代码 最新价 持股数 市值
-------------------------------------------
招行CMP1 580997 0.634 15000 9510.00
华电能源 600726 7.25 2000 14500.00
哈飞股份 600038 18.90 10000 189000.00
-------------------------------------------
总计 213010.00
深市A股
-------------------------------------------
名称 代码 最新价 持股数 市值
-------------------------------------------
网盛科技 002095 58.40 1000 58400.00
-------------------------------------------
总计 58400.00
沪市B股
-------------------------------------------
名称 代码 最新价 持股数 市值
-------------------------------------------
黄山B股 900942 1.600 25000 40000.00
-------------------------------------------
总计 40000.00
深市B股
-------------------------------------------
名称 代码 最新价 持股数 市值
-------------------------------------------
无
香港股票
-------------------------------------------
名称 代码 最新价 持股数 市值
-------------------------------------------
中石油 0857 10.30 10000 103000.00
-------------------------------------------
总计 103000.00
Nasdaq
-------------------------------------------
名称 代码 最新价 持股数 市值
-------------------------------------------
盛大娱乐 SNDA 28.30 1000 28300.00
Microsoft MSFT 30.59 1000 30590.00
-------------------------------------------
总计 58890.00
总市值:1129045.158 (人民币)
用户持有的股票和数量假设从 /MyPortfolio 读取,如下:
/MyPortfolio
<?xml version="1.0" encoding="utf-8"?>
<portfolio>
<list market="ShanghaiA">
<li>
<stock code="580997">招行CMP1</stock>
<shares>15000</shares>
</li>
<li>
<stock code="600726">华电能源</stock>
<shares>2000</shares>
</li>
<li>
<stock code="600038">哈飞股份</stock>
<shares>10000</shares>
</li>
</list>
<list market="ShenzhenA">
<li>
<stock code="002095">网盛科技</stock>
<shares>1000</shares>
</li>
</list>
<list market="ShanghaiB">
<li>
<stock code="900942">黄山B股</stock>
<shares>25000</shares>
</li>
</list>
<list market="ShenzhenB">
</list>
<list market="Hongkong">
<li>
<stock code="0857">中石油</stock>
<shares>10000</shares>
</li>
</list>
<list market="Nasdaq">
<li>
<stock code="SNDA">盛大互动娱乐</stock>
<shares>1000</shares>
</li>
<li>
<stock code="MSFT">Microsoft</stock>
<shares>1000</shares>
</li>
</list>
</portfolio>
每个市场有自己的股票报价格式,分别为:
/Quotes/ShanghaiA/580997,600728,600038
<?xml version="1.0"?>
<quotes timestamp="2007-06-03T12:00:00+08:00">
<entry>
<code>580907</code>
<price>0.634</price>
</entry>
<entry>
<code>600728</code>
<price>7.25</price>
</entry>
<entry>
<code>600038</code>
<price>18.90</price>
</entry>
</quotes>
/Quotes/ShenzhenA/002095
<?xml version="1.0"?>
<quotes timestamp="2007-06-04T12:00:00+08:00">
<entry>
<code>002095</code>
<price>58.40</price>
</entry>
</quotes>
/Quotes/ShanghaiB/900942
<?xml version="1.0"?>
<quotes timestamp="2007-06-04T12:00:00+08:00">
<entry>
<code>900942</code>
<price cur="USD">1.600</price>
</entry>
</quotes>
/Quotes/Hongkong/0857
<?xml version="1.0"?>
<quotes time="2007-06-04T12:00:00+08:00">
<item id="0857">10.30</item>
</quotes>
/Quotes/Nasdaq/SNDA
<?xml version="1.0"?>
<quote date="Mon Jun 4 2007 9:00AM, Pacific Time">
<name>SNDA Interactive Entertainment Ltd ADR</name>
<symbol>SNDA</symbol>
<last-price>28.30</last-price>
<change>+0.02 (0.07%)</change>
</quote>
最后,为了计算总市值,我们还需要有外汇兑换价格:
/Exchange/USD/CNY
USD/CNY=7.6522
好了,数据齐备了,下面我们开始写网页了。
分享到:
- 2007-06-04 18:22
- 浏览 3012
- 评论(0)
- 论坛回复 / 浏览 (0 / 2597)
- 查看更多
相关推荐
"clean_ajax"的设计遵循了"Clean Architecture"原则,这是一种软件设计模式,旨在保持代码的可读性、可维护性和可测试性。它将应用程序分为不同的层次,每个层次都有明确的责任,数据流动的方向是从外层到内层,然后...
1. **Ajax**:Ajax(Asynchronous JavaScript and XML)是一种创建动态网页的技术,允许在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。在Java中,可以使用JavaScript库如jQuery来实现Ajax请求,...
jQuery是JavaScript的一个库,简化了DOM操作、事件处理、动画效果和Ajax交互: 1. **选择器**:高效地选取DOM元素,如ID选择器、类选择器、属性选择器等。 2. **DOM操作**:增删改查DOM节点,以及元素的属性和样式。...
单例模式是一种设计模式,确保一个类只有一个实例,并提供一个全局访问点。实现单例模式通常有以下几种方法: - **懒汉式**:在第一次使用时创建实例。 - **饿汉式**:在类加载时创建实例。 - **静态内部类**:结合...
正则表达式是爬虫开发中不可或缺的一部分,它可以用来精确匹配和提取文本中的模式。 - **匹配规则**:通过不同的字符组合匹配特定格式的字符串。 - **分组和捕获**:使用括号`()`将模式分组,并可以捕获该组的内容...
除此之外,书中还可能涉及了Java 5.0中的多线程和并发编程,包括新的并发API如`java.util.concurrent`包,以及线程池、Future和Callable接口等概念。这些内容对于构建高性能、高并发的Web应用至关重要。 总的来说,...
1. **MVC设计模式**:Java网盘项目很可能采用了Model-View-Controller(MVC)架构,这是一种常见的软件设计模式,用于将业务逻辑、数据和用户界面分离。模型层负责处理数据,视图层展示信息,控制器处理用户交互。 ...
项目架构图通常包括不同的层次(如表示层、业务逻辑层、数据访问层),组件之间的关系,以及可能采用的设计模式和框架。 6. **同步与异步**: - **同步**:同步操作意味着调用一个函数或方法后,程序会等待该操作...
5. **多线程**:学习如何创建和管理线程,使用synchronized关键字进行同步,理解线程池的工作原理,以及使用ExecutorService、Callable和Future接口。 6. **反射机制**:通过反射API来动态操作类、接口、对象和方法...
Java的多线程概念,如Thread类、ExecutorService以及Future接口,会在这一章中有所涉及。 6. **异常处理**:网络爬虫在运行过程中会遇到各种问题,如网络连接错误、编码问题等。因此,良好的异常处理机制至关重要,...
3. **正则表达式与BeautifulSoup**:虽然Jsoup足够强大,但有时我们还需要用到正则表达式来匹配特定模式的数据。另外,虽然Java中没有内置BeautifulSoup这样的库,但其Python版本的原理和用途值得借鉴,可以使用...
您可能会学习到如何使用MVC设计模式,以及如何通过Apache Tomcat服务器部署应用。 2. **数据库交互**:在这些项目中,您可能会接触到Java的JDBC API,学习如何连接MySQL或Oracle等数据库,执行SQL查询、增删改查...
- `Callable`与`Future`的使用。 - 线程同步机制:`synchronized`关键字、`ReentrantLock`等。 - 线程池的创建与管理。 - **面试考察要点:** - 死锁的概念与预防措施。 - 线程安全问题的识别与解决。 #### 二...
Java爬虫技术是一种用于自动化网络数据抓取的编程方法,主要应用于数据分析、市场研究、搜索引擎优化等领域。在Java中实现爬虫,我们需要掌握以下几个关键知识点: 1. **HTTP/HTTPS协议**:爬虫首先需要理解网页是...
在这个中间件中,我们定义了一个正则表达式`pattern`,用于匹配需要拦截的URL模式。当请求路径与正则表达式匹配且用户未登录时,中间件会根据请求类型采取不同操作:如果是主页,会重定向到登录页面;对于非主页...
在Java平台上,异步调用是一种重要的编程模式,它允许程序在执行耗时操作时不会阻塞主线程,从而提高应用程序的响应速度和用户体验。在Java中实现异步调用通常涉及多线程和回调机制。以下是基于给定实例代码的详细...
6.8 前端Ajax超时 135 6.9 总结 136 6.10 参考资料 137 7 回滚机制 139 7.1 事务回滚 139 7.2 代码库回滚 140 7.3 部署版本回滚 141 7.4 数据版本回滚 142 7.5 静态资源版本回滚 143 8 压测与预案 145 8.1 系统压测 ...