如何通过JS接口获取数据

2024-05-16 02:43

1. 如何通过JS接口获取数据


      var currPrice =   hq_str_sz002363.split(",")[3];

如何通过JS接口获取数据

2. 纯js调用webservice接口怎么调用

纯js调用webservice接口举例:
1、HelloWorld.htm (calls Hello World method):

 
  Hello World
   
    var iCallID;
    function InitializeService(){
     service.useService(http://localhost:1394/MyWebService.asmx?wsdl,
   "HelloWorldService");
     service.HelloWorldService.callService("HelloWorld");
    }
    function ShowResult(){
     alert(event.result.value);
    }
   
  
 <body onload="InitializeService()" id="service"
   style="behavior:url(webservice.htc)" onresult="ShowResult()"> 

2、GetAge.htm (calls GetAge method, takes 3 parameters):

 
  UseSwap
   
    function InitializeService(){
     service.useService(http://localhost:1394/MyWebService.asmx?wsdl,
   "GetAgeService");
    }
    var StrYear, StrMonth, StrDay;
    function GetAge(){
     StrYear = document.DemoForm.StringYear.value;
     StrMonth = document.DemoForm.StringMonth.value;
     StrDay = document.DemoForm.StringDay.value;
     service.GetAgeService.callService("GetAge", StrYear, StrMonth, StrDay);
    }
    function ShowResult(){
   alert(event.result.value);
     }
    
   
    <body onload="InitializeService()" id="service"
   style="behavior:url(webservice.htc)" onresult="ShowResult()">
     
      Year : 
      Month : 
      Day : 
      Get Age
     
    

3、GetDateTime.htm (returns cached value):

 
  
  Get Date Time
  
   var iCallID;
   function InitializeService(){
    service.useService(http://localhost:1394/MyWebService.asmx?wsdl,
   "GetDateTimeService");
    service.GetDateTimeService.callService("GetDateTime");
   }
   function ShowResult(){
    alert(event.result.value);
   }
  
 
 <body onload="InitializeService()" id="service"
   style="behavior:url(webservice.htc)" onresult="ShowResult()">
 

3. 如何获取实时的股票行情信息,有相关的公用接口或者数据源吗

实时股票数据接口

股票数据的获取目前有如下两种方法可以获取:
1. 
http/javascript接口取数据
2. 
web-service接口
1.http/javascript接口取数据
1.1Sina股票数据接口
以大秦铁路(股票代码:601006)为例,如果要获取它的最新行情,只需访问新浪的股票数据
接口:
http://hq.sinajs.cn/list=sh601006
这个url会返回一串文本,例如:
var 
hq_str_sh601006="大秦铁路, 27.55, 27.25, 26.91, 27.55, 26.20, 26.91, 
26.92, 
22114263, 589824680, 4695, 26.91, 57590, 26.90, 14700, 
26.89, 14300,
26.88, 15100, 26.87, 3100, 26.92, 8900, 26.93, 
14230, 26.94, 25150, 26.95, 15220, 26.96, 2008-01-11, 
15:05:32";
这个字符串由许多数据拼接在一起,不同含义的数据用逗号隔开了,按照程序员的思路,顺序号从0开始。
0:”大秦铁路”,股票名字;
1:”27.55″,今日开盘价;
2:”27.25″,昨日收盘价;
3:”26.91″,当前价格;
4:”27.55″,今日最高价;
5:”26.20″,今日最低价;
6:”26.91″,竞买价,即“买一”报价;
7:”26.92″,竞卖价,即“卖一”报价;
8:”22114263″,成交的股票数,由于股票交易以一百股为基本单位,所以在使用时,通常把该值除以一百;
9:”589824680″,成交金额,单位为“元”,为了一目了然,通常以“万元”为成交金额的单位,所以通常把该值除以一万;
10:”4695″,“买一”申请4695股,即47手;
11:”26.91″,“买一”报价;
12:”57590″,“买二”
13:”26.90″,“买二”
14:”14700″,“买三”
15:”26.89″,“买三”
16:”14300″,“买四”
17:”26.88″,“买四”
18:”15100″,“买五”
19:”26.87″,“买五”
20:”3100″,“卖一”申报3100股,即31手;
21:”26.92″,“卖一”报价
(22, 
23), (24, 25), (26,27), (28, 
29)分别为“卖二”至“卖四的情况”
30:”2008-01-11″,日期;
31:”15:05:32″,时间;
一个简单的JavaScript应用例子: 
script 
type="text/javascript" src="http://hq.sinajs.cn/list=sh601006" 
charset="gb2312">/script>
/javascript">
var 
elements=hq_str_sh601006.split(",");
document.write("current 
price:"+elements[3]);
这段代码输出大秦铁路(股票代码:601006)的当前股价
current 
price:14.20
如果你要同时查询多个股票,那么在URL最后加上一个逗号,再加上股票代码就可以了;比如你要一次查询大秦铁路(601006)和大同煤业(601001)的行情,就这样使用URL:
http://hq.sinajs.cn/list=sh601003,sh601001
查询大盘指数,比如查询上证综合指数(000001):
http://hq.sinajs.cn/list=s_sh000001
服务器返回的数据为:
var 
hq_str_s_sh000001="上证指数,3094.668,-128.073,-3.97,436653,5458126";
数据含义分别为:指数名称,当前点数,当前价格,涨跌率,成交量(手),成交额(万元);
查询深圳成指数:
http://hq.sinajs.cn/list=s_sz399001
对于股票的K线图,日线图等的获取可以通过请求http://image.sinajs.cn/…./…/*.gif此URL获取,其中*代表股票代码,详见如下:
查看日K线图:
http://image.sinajs.cn/newchart/daily/n/sh601006.gif

分时线的查询:
http://image.sinajs.cn/newchart/min/n/sh000001.gif

日K线查询:
http://image.sinajs.cn/newchart/daily/n/sh000001.gif

周K线查询:
http://image.sinajs.cn/newchart/weekly/n/sh000001.gif

月K线查询:
http://image.sinajs.cn/newchart/monthly/n/sh000001.gif

1.2 
Baidu&Google的财经数据
在baidu, 
google中搜索某只股票代码时,将会在头条显示此股票的相关信息,例如在google搜索601006时,
第一条搜索结果如下图:
通过点击左边的图片我们发现会将此图片链接到sina财经频道上,也就是说google股票数据的获取也是从sina获取。后经抓包分析,发现google也是采用1.1中介绍的接口。
Baidu的股票数据来自baidu的财经频道
http://stock.baidu.com/
1.3 
其他方式
除了sina,baidu等网站提供股票信息外,其他网站也有类似的接口。我们分析了一款论坛上采用的股票插件,
其中有关于实时股票数据获取的介绍,详见如下代码,其中可以看到有些数据来自sina。
以下是ASP示例:
=5 
then
stockdata=gethttp("http://hq.sinajs.cn/list=sh"&code&"")
if 
not len(stockdata)=0 then 
stockdata=split(stockdata,chr(34))(1)
end if
if 
len(stockdata)=0 
then
stockdata="0,0,0,0,0,0,0,0,0,0,0,0"
else
stockdatasplit=split(stockdata,",") 
stockdata=""&exstock.checkstr(stockdatasplit(0))&","&stockdatasplit(1)&","&stockdatasplit(2)&","&stockdatasplit(3)&","&stockdatasplit(4)&","&stockdatasplit(5)&","&formatdatetime(""&stockdatasplit(30)&" 
"&stockdatasplit(31)&"",0)&""
end 
if
‘0=股票名称,1=开盘价格,2=昨收盘价格,3=当前价格,4=最高价,5=最低价,6=更新时间
getstockdata=stockdata
end 
function
function getstockimg(code)
dim 
rndnum,addnum,checkcode,imgsource
if len(code)=5 
then
getstockimg="http://image.sinajs.cn/newchart/daily/n/sh"&code&".gif"
end 
if
imgsource="http://finance.sina.com.cn"
case 
3
getstockimg="http://hq.gazxfe.com/stockchart/realline.chart?"&code&"&1003&SZ 
500 330"
imgsource="http://hq.gazxfe.com"
case 
4
getstockimg="http://chartse.stockstar.com/chartserver?code="&code&""
imgsource="http://www.stockstar.com/"
end 
select
getstockimg=split(""&getstockimg&"||"&imgsource&"","||")
end 
function
function getastockimg()
dim 
rndnum,addnum,checkcode
dim 
getastockimgb,imgsource
addnum=6
randomize:rndnum=cint(rnd*addnum)
select 
case rndnum
case 
0
getastockimg="http://202.109.106.1/gifchartse/gif/000001.gif"
getastockimgb="http://202.109.106.1/gifchartse/gif/399001.gif"
imgsource="http://www.stockstar.com/"
case 
1
getastockimg="http://money.163.com/special/100.gif?C39"
getastockimgb="http://money.163.com/special/101.gif?HrS"
imgsource="http://www.163.com"
case 
2
getastockimg="http://www.10jqka.com.cn/curve/realtime/index2.php?code=1a0001&w=180&h=140"
getastockimgb="http://www.10jqka.com.cn/curve/realtime/index2.php?code=399001&w=180&h=140"
imgsource="http://www.10jqka.com.cn"
case 
3
getastockimg="http://chart.cnlist.com/stockchart/realline.chart?1a0001&1002&SZ 
180 
140"
getastockimgb="http://chart.cnlist.com/stockchart/realline.chart?399001&1002&SZ 
180 
140"
imgsource="http://chart.cnlist.com/"
case 
4
getastockimg="http://image.sinajs.cn/newchart/small/ish000001.gif?1189176558328"
getastockimgb="http://image.sinajs.cn/newchart/small/isz399001.gif?1189176558328"
imgsource="http://www.sinajs.cn"
case 
5
getastockimg="http://218.1.72.66/cgi/pic/sh/realtime/JA000001164143.png"
getastockimgb="http://218.1.72.66/cgi/pic/sz/realtime/JA399001164143.png"
imgsource="http://www.cnstock.com/"
case 
6
getastockimg="http://222.73.29.85/img/000001.png"
getastockimgb="http://222.73.29.85/img/399001.png"
imgsource="http://www.eastmoney.com/"
end 
select
getastockimg=split(""&getastockimg&"||"&getastockimgb&"||"&imgsource&"","||")
end 
function
%>
2. 
web-service接口
2.1 CHINAstock的web-service:
http://www.webxml.com.cn/WebServices/ChinaStockWebService.asmx
中国股票行情数据 
WEB 服务(支持深圳和上海股市的全部基金、债券和股票),数据即时更新。输出GIF分时走势图、日/周/月 K 
线图、及时行情数据(股票名称、行情时间、最新价、昨收盘、今开盘、涨跌额、最低、最高、涨跌幅、成交量、成交额、竞买价、竞卖价、委比、买一 - 买五、卖一 - 
卖五)。此WEB服务提供了如下几个接口:
2.1.1 
getStockImageByCode
GET 
股票GIF分时走势图
INput:theStockCode = 
股票代号,如:sh000001
POST /WebServices/ChinaStockWebService.asmx 
HTTP/1.1
Host: www.webxml.com.cn
Content-Type: 
text/xml; charset=utf-8
Content-Length: 
length
SOAPAction: 
"http://WebXml.com.cn/getStockImageByCode"


string


Output:
2.1.2 
getStockImageByteByCode
获得中国股票GIF分时走势图字节数组
INput:theStockCode 
= 股票代号,如:sh000001
POST /WebServices/ChinaStockWebService.asmx 
HTTP/1.1Host: www.webxml.com.cnContent-Type: text/xml; 
charset=utf-8Content-Length: lengthSOAPAction: 
"http://WebXml.com.cn/getStockImageByteByCode" 
string 
返回的数据如下:
R0lGODlhIQIsAfcAAAAAAAwLBxkGBQ4ODhAQEBsSChUVFS4TDB8eGQkA9koPCDAAzy4mFVgAp2UYC0IqEUYuBVwiDEAsI1QnFX8AgDU1NUozFlgxD6cBWVY5FnIwEmQ4Gc0AMlhDHPEADlVJMEpKSm1IHOUBWpY3FZMyVY9IGXRWIEFmWGNYUmpdPXJgHQB8HK9EGGBgX4lXIACoAHhkMyt4m4VkJtstbv8A
2.1.3 
getStockImage_kByCode
直接获得中国股票GIF日/周/月 K 
线图(545*300pixel/72dpi)
INPUT: theStockCode = 
股票代号
theType = K 线图类型(D:日[默认]、W:周、M:月),
POST 
/WebServices/ChinaStockWebService.asmx HTTP/1.1Host: 
www.webxml.com.cnContent-Type: text/xml; charset=utf-8Content-Length: 
lengthSOAPAction: "http://WebXml.com.cn/getStockImage_kByCode" string 
string 
比如按照下图所示输入:
返回的结果就是周K线图:
2.1.4 
getStockImage_kByteByCode
获得中国股票GIF日/周/月 K 
线图字节数组
Input:theStockCode = 股票代号,如:sh000001
POST 
/WebServices/ChinaStockWebService.asmx HTTP/1.1Host: 
www.webxml.com.cnContent-Type: text/xml; charset=utf-8Content-Length: 
lengthSOAPAction: "http://WebXml.com.cn/getStockImage_kByteByCode" string string 
HTTP/1.1 200 OKContent-Type: text/xml; charset=utf-8Content-Length: length 
base64Binary 
比如按照下图输入:
返回的结果就是周K线图字节数组
R0lGODlhIQIsAfcAAAAAAAwLBxkGBQ4ODhAQEBsSChUVFS4TDB8eGQkA9koPCDAAzy4mFVgAp2UYC0IqEUYuBVwiDEAsI1QnFX8AgDU1NUozFlgxD6cBWVY5FnIwEmQ4Gc0AMlhDHPEADlVJMEpKSm1IHOUBWpY3FZMyVY9IGXRWIEFmWGNYUmpdPXJgHQB8HK9EGGBgX4lXIACoAHhkMyt4m4VkJtstbv8A
2.1.5 
getStockInfoByCode
获得中国股票及时行情
input:theStockCode 
= 股票代号
POST /WebServices/ChinaStockWebService.asmx HTTP/1.1Host: 
www.webxml.com.cnContent-Type: text/xml; charset=utf-8Content-Length: 
lengthSOAPAction: "http://WebXml.com.cn/getStockInfoByCode" 
string 
返回的值一个一维字符串数组 
String(24),结构为:String(0)股票代号、String(1)股票名称、String(2)行情时间、String(3)最新价(元)、String(4)昨收盘(元)、String(5)今开盘(元)、String(6)涨跌额(元)、String(7)最低(元)、String(8)最高(元)、String(9)涨跌幅(%)、String(10)成交量(手)、String(11)成交额(万元)、String(12)竞买价(元)、String(13)竞卖价(元)、String(14)委比(%)、String(15)-String(19)买一 
- 买五(元)/手、String(20)-String(24)卖一 - 卖五(元)/手。
Web 
service的方法类似于现在concurrent项目的DBWS数据的获取,都是通过SOAP协议向DBWS服务器获取相关的数据。
利用雅虎查中国股票
http://quote.yahoo.com/d/quotes.csv?s=MSFT&f=slc1wop
返回微软的股票价格
"MSFT","4:00pm 
- 30.70",+1.04,"21.46 - 
30.75",29.77,29.66
http://quote.yahoo.com/d/quotes.csv?s=000969.SZ&f=slc1wop
这个返回安泰科技的,一般有半个小时的延迟。
但是s=000969.sz 
这个后面的sz是深圳的意思, 沪市是SS后缀

如何获取实时的股票行情信息,有相关的公用接口或者数据源吗

4. 在哪可以获取股票、基金、指数等的数据接口,需要把这些数据显示在网站上

股票数据的获取目前有如下两种方法可以获取:
1. http/javascript接口取数据
2. web-service接口
1.http/javascript接口取数据
1.1Sina股票数据接口
以大秦铁路(股票代码:601006)为例,如果要获取它的最新行情,只需访问新浪的股票数据
接口:
http://hq.sinajs.cn/list=sh601006
这个url会返回一串文本,例如:
var hq_str_sh601006="大秦铁路, 27.55, 27.25, 26.91, 27.55, 26.20, 26.91, 26.92, 
22114263, 589824680, 4695, 26.91, 57590, 26.90, 14700, 26.89, 14300,
26.88, 15100, 26.87, 3100, 26.92, 8900, 26.93, 14230, 26.94, 25150, 26.95, 15220, 26.96, 2008-01-11, 15:05:32";
这个字符串由许多数据拼接在一起,不同含义的数据用逗号隔开了,按照程序员的思路,顺序号从0开始。
 
http://www.cnblogs.com/luluping/archive/2010/11/15/1877817.html

5. 股票数据接口怎么获取?一般是怎么收费的?

去证券交易所买的,一年服务费千万。
  LEVEL-2行情,数据比较清楚,并且比较全。资金流向,十档盘口,买卖提示,等等,具体可以看大智慧或同花顺LEVEL-2的相关介绍,他们的比较权威,比较全面。
  股票行情数据是由交易所有偿提供的,一般是给券商、行情分析软件供应商等,且不得转发从事商业服务。股票数据的获取目前有如下两种方法可以获取:http/javascript接口取数据或者web-service接口。

股票数据接口怎么获取?一般是怎么收费的?

6. C#怎么从http上返回JSON数据并读取?

你这个应该是两个问题,
1、如何从http返回json
2、如何使用C#读取从http返回的json
解决方案:
问题1:http返回json可以使用webapi技术,自己开发一个webapi接口用于从数据库读取并提供数据。
问题2:首先要说一下,http的json如果是前端程序还是用javascript读取比较好。如果是后端的话,只能使用C#读取,使用HttpClient或者HttpWebRequest。
HttpClient方式:
using (WebClient client = new WebClient())
{
client.Headers["Type"] = "GET";
client.Headers["Accept"] = "application/json";
client.Encoding = Encoding.UTF8;
client.DownloadStringCompleted += (senderobj, es) =>
{
var obj = es.Result;
};
client.DownloadStringAsync("http://localhost:41558/api/Demo");
}
HttpWebRequest方式:略(写上之后百度页面报错!!!)
另外http方式的调用,分为get、post、put等方式。需要注意服务器端的情况。

上述例子引用自http://www.cnblogs.com/MuNet/p/6732338.html

7. 怎么用易语言取出这段JS代码的值:

用精易模块就可以取

怎么用易语言取出这段JS代码的值:

8. 如何调用WebService接口把数据存储到数据库里而不使用JSP页面

1. 包含一个controller servlet,能将用户的请求发送到相应的Action对象。
   2. JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。
   3. 提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。
   Struts项目的目标是为创建Java web应用提供一个开放源代码的framework。Struts framework的内核是基于例如Java Servlets,    JavaBeans, ResourceBundles, 和 XML,以及各种 Jakarta Commons包的标准技术的灵活的控制层。

 8 jsp有哪些内置对象?作用分别是什么? 
  答:  JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应): 
    request 用户端请求,此请求会包含来自GET/POST请求的参数 
   response 网页传回用户端的回应 
   pageContext 网页的属性是在这里管理 
   session 与请求有关的会话期 
   application servlet 正在执行的内容
   out 用来传送回应的输出 
   config servlet的构架部件 
   page JSP网页本身 
   exception 针对错误网页,未捕捉的例外 
   
 9 两种跳转方式分别是什么?有什么区别? 
  答: 有两种,分别为: 
   <jsp:include page="included.jsp" flush="true"> 
   <jsp:forward page= "nextpage.jsp"/> 
   I0前者页面不会转向include所指的页面,只是显示该页的结果,主页面还是原来的页面。执行完后还会回来,相当于函数调用。并且可    以带参数.后者完全转向新页面,不会再回来。相当于go to 语句。 
  
 10 描述一下Jsp中Taglib的用法
  答: 一、第一种方法:仅声明TLD位置
   在jsp文件头部,声明:
   <%@ taglib uri=”/WEB-INF/tlds/orataglib_1_0.tld” prefix=”ora”%>

   二、第二种方法:定义库名称
   在jsp文件头部,声明:
   <%@ taglib uri=”/orataglib” prefix=”ora”%>
   在WEB.XML添加如下声明:
   taglib>
   <taglib-uri>/orataglib</taglib-uri>
   <taglib-location>/WEB-INF/tlds/orataglib_1_0.tld</taglib-location>
   </taglib>
   在tld里加上:
   <shortname>ora</shortname>
   <uri>/orataglib</uri>
 
   
 11 Javascript中如何校对数字型? 
  答:
   
 12 EJB2.0 中包括那些内容?作用分别是什么?
  答: 规范内容包括Bean提供者,应用程序装配者,EJB容器,EJB配置工具,EJB服务提供者,系统管理员。这里面,EJB容器是EJB之所以    能够运行的核心。EJB容器管理着EJB的创建,撤消,激活,去活,与数据库的连接等等重要的核心工作。       JSP,Servlet,EJB,JNDI,JDBC,JMS..... 


 13 一个SessionBean包含哪几个组件?各个组件作用是什么?
  答: Session Bean 包含: Stateful Session Bean 与 Stateless Session Bean  
   Stateful Session Bean 可以记录 呼叫者的状态,因此通常来说,一个使用者会有一个相对应的 Stateful Session Bean 的实体。     Stateless Session Bean 不负责记录使用者状态,也就是说当使用者呼叫 Stateless Session Bean 的时候, EJB Container 并不会    找寻特定的 Stateless Session Bean 的实体来执行这个 method 。换言之,很可能数个使用者在执行某个 Stateless Session Bean     的methods 时,会是同一个 Bean 的 Instance 在执行。,   

 14 列举一下你所知道的设计模式(包括EJB,J2EE的设计模式),以及它们应用的场合?
  答: Factory(工厂模式), Factory Method(工厂方法模式),
   Prototype(原始模型模式),Singleton(单例模式),    
   Adapter(适配器模式), Decorator(装饰模式),    
   Flyweight(享元模式),     Proxy(代理模式),
   Command(命令模式), Interpreter(解释器模式), 
   Visitor(访问者模式),Iterator(迭代子模式),  
   Observer(观察者模式),   State(状态模式),
       
   主要用到了MVC的设计模式。用来开发JSP/Servlet或者J2EE的相关应用。

 15 解析XML主要方法有哪些?各有什么区别?
  答: 有DOM,SAX,STAX等 
   DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件    之前把整个文档装入内存,适合对XML的随机访问SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部    装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代    码来处理XML文件,适合对XML的顺序访问 
   STAX:Streaming API for XML (StAX) 

 16 Hashtable的原理,并说出HashMap与Hashtable的区别   Vector 和ArrayList有什么区别? 
  答: 
   HashTable的原理:通过节点的关键码确定节点的存储位置,即给定节点的关键码k,通过一定的函数关系H(散列函数),得到函数值H(k),将    此值解释为该节点的存储地址.
 
   就ArrayList与Vector主要从二方面来说. 
   一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的 
   二.数据增长:当需要增长时,Vector 默认增长为原来一培,而ArrayList却是原来的一半 

   就HashMap与HashTable主要从三方面来说。
   一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现 
   二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的 
   三.值:只有HashMap可以让你将空值作为一个表的条目的key或value 

 17 JAVA SERVLET API中forward() 与redirect()的区别? 
  答: 前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地    址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽    量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用    sendRedirect()方法。

 18 什么是Web容器?
  答:  实现J2EE规范中web协议的应用.该协议定义了web程序的运行时环境,包括:并发性,安全性,生命周期管理等等.

 19 EJB是基于哪些技术实现的?并说 出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别.
  答: EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技术实现.

     SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件.EntityBean被用来代    表应用系统中用到的数据.对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑;EntityBean     是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体.

     Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean .这两种的 Session Bean都可以将系统    逻辑放在method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相     对应的 Stateful Session Bean 的实体.Stateless Session Bean 虽然也是逻辑组件,但是他却不负责记录使用者状态,也就     是说当使用者呼叫 Stateless Session Bean 的时候,EJB Container 并不会找寻特定的 Stateless Session Bean 的实体来     执行这个 method.换言之,很可能数个使用者在执行某个 Stateless Session Bean 的 methods 时,会是同一个 Bean 的      Instance 在执行.从内存方面来看,Stateful Session Bean 与 Stateless Session Bean 比较, Stateful Session Bean 会     消耗J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态.


 20 什么是Web Service?
  答: Web Service就是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。
   Web Service所使用的是Internet上统一、开放的标准,如HTTP、XML、SOAP(简单对象访问协议)、WSDL等,所以Web Service    可以在任何支持这些标准的环境(Windows,Linux)中使用。

     注:SOAP协议(Simple Object Access Protocal,简单对象访问协议),它是一个用于分散和分布式环境下网络信息交换的基于    XML的通讯协议。在此协议下,软件组件或应用程序能够通过标准的HTTP协议进行通讯。它的设计目标就是简单性和扩展性,这     有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。
 
     优势:

     (1).跨平台。
     (2).SOAP协议是基于XML和HTTP这些业界的标准的,得到了所有的重要公司的支持。
     (3).由于使用了SOAP,数据是以ASCII文本的方式而非二进制传输,调试很方便;并且由于这样,它的数据容易通过防火墙,不需要防火    墙为了程序而单独开一个“漏洞”。
     (4).此外,WebService实现的技术难度要比CORBA和DCOM小得多。
     (5).要实现B2B集成,EDI比较完善与比较复杂;而用WebService则可以低成本的实现,小公司也可以用上。
     (6).在C/S的程序中,WebService可以实现网页无整体刷新的与服务器打交道并取数。

     缺点:

     (1).WebService使用了XML对数据封装,会造成大量的数据要在网络中传输。
     (2).WebService规范没有规定任何与实现相关的细节,包括对象模型、编程语言,这一点,它不如CORBA。
 

 21 多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
  答: 多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 
   同步的实现方面有两种,分别是synchronized,wait与notify 

 22 Java编程,打印昨天的当前时刻(机试)

 23 struts的工作流程?
  答: 在Struts中,用户的请求一般以*.do作为请求服务名,所有的*.do请求均被指向ActionSevlet,ActionSevlet根据Struts-config.xml中   的配置信息,将用户请求封装成一个指定名称的FormBean,并将此FormBean传至指定名称的ActionBean,由ActionBean完成相应的业务   操作,如文件操作,数据库操作等。每一个*.do均有对应的FormBean名称和ActionBean名称,这些在Struts-config.xml中配置。


 24 MVC的工作原理?
  答: 控制:有一个XML文件Struts-config.xml,与之相关联的是Controller,在Struts中,承担MVC中Controller角色的是一个Servlet,叫    ActionServlet。ActionServlet是一个通用的控制组件。这个控制组件提供了处理所有发送到Struts的HTTP请求的入口点。它截取和分   发这些请求到相应的动作类(这些动作类都是Action类的子类)。另外控制组件也负责用相应的请求参数填充 Action From(通常称之   为FromBean),并传给动作类(通常称之为ActionBean)。动作类实现核心商业逻辑,它可以访问java bean 或调用EJB。最后动作类把   控制权传给后续的JSP 文件,后者生成视图。所有这些控制逻辑利用Struts-config.xml文件来配置。 

           视图:主要由JSP生成页面完成视图,Struts提供丰富的JSP 标签库: Html,Bean,Logic,Template等,这有利于分开表现逻辑和程序   逻辑。 

            模型:模型以一个或多个java bean的形式存在。这些bean分为三类:Action Form、Action、JavaBean or EJB。Action Form通常称之   为FormBean,封装了来自于Client的用户请求信息,如表单信息。Action通常称之为ActionBean,获取从ActionSevlet传来的FormBean   ,取出FormBean中的相关信息,并做出相关的处理,一般是调用Java Bean或EJB等。 

           流程:在Struts中,用户的请求一般以*.do作为请求服务名,所有的*.do请求均被指向ActionSevlet,ActionSevlet根据Struts-   config.xml中的配置信息,将用户请求封装成一个指定名称的FormBean,并将此FormBean传至指定名称的ActionBean,由ActionBean完   成相应的业务操作,如文件操作,数据库操作等。每一个*.do均有对应的FormBean名称和ActionBean名称,这些在Struts-config.xml中   配置。 核心:Struts的核心是ActionSevlet,ActionSevlet的核心是Struts-config.xml。 

           FormBean的产生是为了提供数据给ActionBean,在ActionBean中可以取得FormBean中封装的数据,经相应的逻辑处理后,调用业务方法   完成相应业务要求。 

           Servlet的演变:在常规的 JSP,Servlet,JavaBean三层结构中,JSP实现View的功能,Servlet实现Controller的功能,JavaBean实现   Model的实现。 

          在Struts中,将常规情况下的Servlet拆分与ActionServlet、FormBean、ActionBean三个部分。ActionServlet配合Struts-config.xml   ,专职完成页面导航,而不再负责具


 25 写一段实现杨辉三角的代码?
  答:

 26 java里的方法重载和方法覆盖有什么区别?
  答: 1、方法的覆盖是子类和父类之间的关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系。 
   2、覆盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之间的关系。 
   3、覆盖要求参数列表相同;重载要求参数列表不同。 
   4、覆盖关系中,调用那个方法体,是根据对象的类型(对象对应存储空间类型)来决定;重载关系,是根据调用时的实参表与形参表来   选择方法体的。

   
 27 jsp有哪些动作?作用分别是什么? 
  答: JSP共有以下6种基本动作 
   jsp:include:在页面被请求的时候引入一个文件。
   jsp:useBean:寻找或者实例化一个JavaBean。 
   jsp:setProperty:设置JavaBean的属性。 
   jsp:getProperty:输出某个JavaBean的属性。 
   jsp:forward:把请求转到一个新的页面。 
   jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记 

 28 一个int型的数组与一个int值,查询int值在数组中的index值,还要写两个测试用例
  答:

 29 线程的工作机制?wait与sleep的区别
  答: sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复   。调用sleep不会释放对象锁。
   wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方   法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。


 30 Servlet与GenericServlet,HttpServlet的区别?在程序中一般用哪个?并实现什么方法?
  答:

 31 Hibernate的工作原理?
  答:    Hibernate是一个JDO工具。它的工作原理是通过文件把值对象和数据库表之间建立起一个映射关系,这样,我们只需要通过操作这些    值对象和Hibernate提供的一些基本类,就可以达到使用数据库的目的。

 32 写出实现单例模式的代码?
  答:

 33 J2EE是什么?J2EE中有哪些组件,你的项目中用到了哪些组件?
  答: Je22是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese     application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次    (tier)中。所属层次包括客户层(clietn tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层

 34 简述你的项目的架构及工作流程?
  答:

 35 String 和 StringBuffer 的区别?什么情况下用哪种字符串类?
  答: JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了    数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。    典型地,你可以使用StringBuffers来动态构造字符数据。

 36 java 中的序列化操作要实现什么接口?并实现什么方法?
  答: 实现Externalizable接口。Externalizable接口定义包括两个方法writeExternal()与readExternal()。利用这些方法可以控制对象数据   成员如何写入字节流.类实现Externalizable时,头写入对象流中,然后类完全负责序列化和恢复数据成员。

 37 接口中可以定义属性吗?如果可以应该定义什么类型的属性?
  答:可以 应该定义public类型的属性,不写则默认为 public static类型的