??xml version="1.0" encoding="utf-8" standalone="yes"?>在线观看入口黄最新永久免费国产,成人在线免费观看,久久一区二区三区av http://www.aygfsteel.com/liver/我不够贪心!其实我应该明白,心有多贪Q舞台就会有多大Q坚持!奋斗Q?/description>zh-cn Wed, 18 Jun 2025 02:08:07 GMT Wed, 18 Jun 2025 02:08:07 GMT 60 [转蝲]Javaq程通讯技术ȝ http://www.aygfsteel.com/liver/archive/2010/05/07/320301.htmlLiver Liver Fri, 07 May 2010 09:24:00 GMT http://www.aygfsteel.com/liver/archive/2010/05/07/320301.html http://www.aygfsteel.com/liver/comments/320301.html http://www.aygfsteel.com/liver/archive/2010/05/07/320301.html#Feedback 0 http://www.aygfsteel.com/liver/comments/commentRss/320301.html http://www.aygfsteel.com/liver/services/trackbacks/320301.html 阅读全文 ]]> [转蝲]Web Services&XMLQ什么是Web Service http://www.aygfsteel.com/liver/archive/2010/04/27/319497.htmlLiver Liver Tue, 27 Apr 2010 08:42:00 GMT http://www.aygfsteel.com/liver/archive/2010/04/27/319497.html http://www.aygfsteel.com/liver/comments/319497.html http://www.aygfsteel.com/liver/archive/2010/04/27/319497.html#Feedback 0 http://www.aygfsteel.com/liver/comments/commentRss/319497.html http://www.aygfsteel.com/liver/services/trackbacks/319497.html
在http//www.hexiesoft.net 上你可以ƣ赏?NET下用微软开发工具徏立的Web Service企业UERP应用pȝ?br />
?http//dwdemos.alphaworks.ibm.com/HospitalProj/index.html上,你可以体验用IBM开发工具创建的提供ȝ保险信息查询的Web Service?br />
Web Service概念
什么是 Web Service呢?从表面上看,Web Service是一个应用程序,它向外界暴露Z个能够通过Webq行调用的API。这是_你能够用~程的方法通过Web调用来实现某个功能的应用E序。例如,W者创Z个Web ServiceQ它的作用是查询某公司某员工的基本信息。它接受该员工的~号作ؓ查询字符Ԍq回该员工的具体信息。你可以在浏览器的地址栏中直接输入HTTP GETh来调用罗列该员工基本信息的ASP面Q这可以算作是体验Web Service了?br />
从深层次上看QWeb Service是一U新的Web应用E序分支Q它们是自包含、自描述、模块化的应用,可以在网l?通常为Web)中被描述、发布、查找以及通过Web来调用?br />
Web Service便是Z|络的、分布式的模块化lgQ它执行特定的Q务,遵守具体的技术规范,q些规范使得Web Service能与其他兼容的组件进行互操作。它可以使用标准的互联网协议Q像文本传输协议HTTP和XMLQ将功能体现在互联网和企业内部网上。Web Serviceq_是一套标准,它定义了应用E序如何在Web上实C操作性。你可以用你喜欢的Q何语a(W者用的是C#)Q在你喜Ƣ的Mq_上写Web Service?br />
Web Service的技术支?/span>
Web Serviceq_需要一套协议来实现分布式应用程序的创徏。Q何^台都有它的数据表C方法和cdpȝ。要实现互操作性,Web Serviceq_必须提供一套标准的cdpȝQ用于沟通不同^台、编E语a和组件模型中的不同类型系l。目前这些协议有Q?br />
1.XML和XSD
可扩展的标记语言XML?是Web Serviceq_中表C数据的基本格式。除了易于徏立和易于分析外,XML主要的优点在于它既与q_无关Q又与厂商无兟뀂XML是由万维|协?W3C)创徏QW3C制定的XML SchemaXSD?定义了一套标准的数据cdQƈl出了一U语a来扩展这套数据类型?br />
Web Serviceq_是用XSD来作为数据类型系l的。当你用某种语言?VB.NET或C#?来构造一个Web ServiceӞZW合Web Service标准Q所有你使用的数据类型都必须被{换ؓXSDcd。如惌它用在不同q_和不同Y件的不同l织间传递,q需要用某种东西它包装h。这U东西就是一U协议,?SOAP?br />
2.SOAP
SOAP即简单对象访问协?Simple Object Access Protocol)Q它是用于交换XML~码信息的轻量协议。它有三个主要方面:XML-envelope为描qC息内容和如何处理内容定义了框Ӟ程序对象编码成为XML对象的规则,执行q程q程调用(RPC)的约定?SOAP可以q行在Q何其他传输协议上。例如,你可以?SMTPQ即因特|电子邮件协议来传递SOAP消息Q这可是很有诱惑力的。在传输层之间的头是不同的,但XML有效负蝲保持相同?br />
Web Service 希望实现不同的系l之间能够用“软g-软g对话”的方式相互调用,打破了Y件应用、网站和各种讑֤之间的格g入的状态,实现“ZWeb无缝集成”的目标?br />
3.WSDL
Web Service描述语言WSDL?是用机器能阅读的方式提供的一个正式描q文档而基于XML的语aQ用于描qWeb Service及其函数、参数和q回倹{因为是ZXML的,所以WSDL既是机器可阅ȝQ又是h可阅ȝ?br />
4.UDDI
UDDI 的目的是为电子商务徏立标准;UDDI是一套基于Web的、分布式的、ؓWeb Service提供的、信息注册中心的实现标准规范Q同时也包含一l企业能将自n提供的Web Service注册Q以使别的企业能够发现的讉K协议的实现标准?br />
5.q程q程调用RPC与消息传?/em>
Web Service本n其实是在实现应用E序间的通信。我们现在有两种应用E序通信的方法:RPCq程q程调用?和消息传递。用RPC的时候,客户端的概念是调用服务器上的q程q程Q通常方式为实例化一个远E对象ƈ调用其方法和属性。RPCpȝ试图辑ֈ一U位|上的透明性:服务器暴露出q程对象的接口,而客L好像在本地使用的这些对象的接口一Pq样隐藏了底层的信息,客户端也根本不需要知道对象是在哪台机器上?br />
Web Service软g的支?/span>
操作pȝM开丰富的应用Y件的支持。同PWeb Serviceq项技术只有通过日益q泛的应用才能体现出其h|目前比较行的实现方法是使用.NET ?Java两种技术,q且两种实现Ҏ可以互相操作Q如今我们已l可以看C用微软?IBM、SUN、Borland{不同厂商的Web Service构徏工具建立的Web Service应用?br />
微Y.NET
微Y?NET技术应该算是时下最为流行的Web Service 开发技术。首先因为其公司在以前相应的产品占有相当大的市Z额,以至使新推出?NET得以有比较稳定的用户;其次也是更重要的?.NETq_不仅延箋了微软一贯的~程风格Q而且q增加了许多支持Web 服务的关键性技术,使得.NET在操作的单性和执行的稳定性,高效性上辑ֈ了一个非常好的结合?br />
微Y的Visual Studio.NET便是一个便?Web 服务的开发工兗微软的目标是,其新编E语a??C#作ؓWeb Service的首选语a。虽然C#看v来与JavacMQ但是还有一?Java中没有的独特的功能?NET技术中用于Web Service 开发的主要工具是ASP.NET?从技术上_ASPasp.net? 提供了一些超出ASP以前版本的优?例如Q代码和HTML的分,与脚本语a相比较,?#8220;真正”的编E语a?C# 的支??br />
IBM?WebSphere
IBM公司是业界第一家能够提供全面支持Web服务的电子商务基设施中间件的公司。通过多年来与 W3C(The World Wide Web Consortium)的共同努力,包括DB2、Lotus、Tivoli 和WebSphere在内的所有IBM软g都实C对SOAP、WSDL、UDDI、Linux、XML、J2EE{开放技术和标准的全面支持。 IBM公司的WebSphere 也是比较好的基础架构软g开发^台。WebSphere软gq_及开发工具包?WebSphere Studio Application Developer WSAD? ZJ2EE、XML 和Web服务{开放标准,q具?IBM 在可靠性、扩展性和安全性上的主要优ѝWebSphere ?IBM ?Web Services{略中的核心q_Q它支持所有开发、发布、部|?Web Services应用所必需的开放标准和技术,包括 UDDIQSOAPQJ2EEQWSDLQ和?XML 技术集成的增强Q这特得它在全球有很多用户?br />
Borland的JBuilder
Borland公司?JBuilder7中,用户可以用其Borland Web Services Kit for Java和Borland JBuilder MobileSet 3q行更快捷地开发Web Service和无U应用。这样将使开发者能够在同一个开发环境中L地创建和集成Web Service。今q新推出的JBuidler8 更是针对Web Service开发更提供了方便和高效的方法?br />
MQ在Web Service开发上Q?NET 和Java都是很好的选择Q尽两者现在都有一些需要完善的地方Q但是就目前来说Q它们还是最好的开发手D和技术。具体选择哪种开发工P也是仁者见仁,见智的问题。从Ҏ上说Q这两种Ҏ没有C孰劣的问题,只是Ҏ使用者对q两U方法的掌握E度和对具体语言的偏q度来军_?
]]> 再谈U程Q生产者与消费?/title> http://www.aygfsteel.com/liver/archive/2009/06/04/279970.htmlLiver Liver Thu, 04 Jun 2009 02:57:00 GMT http://www.aygfsteel.com/liver/archive/2009/06/04/279970.html http://www.aygfsteel.com/liver/comments/279970.html http://www.aygfsteel.com/liver/archive/2009/06/04/279970.html#Feedback 4 http://www.aygfsteel.com/liver/comments/commentRss/279970.html http://www.aygfsteel.com/liver/services/trackbacks/279970.html 阅读全文 ]]> U程7U状态的怺转换 http://www.aygfsteel.com/liver/archive/2009/06/04/279924.htmlLiver Liver Wed, 03 Jun 2009 16:06:00 GMT http://www.aygfsteel.com/liver/archive/2009/06/04/279924.html http://www.aygfsteel.com/liver/comments/279924.html http://www.aygfsteel.com/liver/archive/2009/06/04/279924.html#Feedback 2 http://www.aygfsteel.com/liver/comments/commentRss/279924.html http://www.aygfsteel.com/liver/services/trackbacks/279924.html
当初学习U程的时候把q?个状态记得比自己名字q熟?br />
q把q?个状态编成了一D凄惨而美丽的爱情故事
没想到如今却只能记得个大?br />
真验证了“好记性不如烂W头”的真?br />
q是赶快回忆一下吧
先从囄开?br />
小的作下解释:
1、线E的实现有两U方式,一是承Threadc,二是实现Runnable接口Q但不管怎样Q当我们new了这个对象后Q线E就q入?span style="color: red">初始状?/strong>Q?br />
2、当该对象调用了start()ҎQ就q入可运行状?/strong> Q?br />
3、进入可q行状态后Q当该对象被操作pȝ选中Q获得CPU旉片就会进?span style="color: red">q行状?/strong>Q?br />
4、进入运行状态后情况比较复杂了
4.1、run()Ҏ或main()Ҏl束后,U程p?span style="color: red">l止状?/strong>Q?br />
4.2、当U程调用了自w的sleep()Ҏ或其他线E的join()ҎQ就会进?strong style="color: red">d状?/strong>Q该状态既停止当前U程Q但q?span style="color: red">不释放所占有的资?/span>Q。当sleep()l束或join()l束后,该线E进入可q行状态,l箋{待OS分配旉片;
4.3、线E调用了yield()ҎQ意思是攑ּ当前获得的CPU旉片,回到可运行状态,q时与其他进E处于同{竞争状态,OS有可能会接着又让q个q程q入q行状态;
4.4、当U程刚进入可q行状态(注意Q还没运行)Q发现将要调用的资源?font style="background-color: #cce8cf">synchronizaQ同步)Q获取不到锁标记Q将会立卌?span style="color: red">锁池状?/strong>Q等待获取锁标记Q这时的?/font>池里也许已经有了其他U程在等待获?font style="background-color: #cce8cf">?/font>标记Q这时它们处于队列状态,既先到先得)Q一旦线E获?font style="background-color: #cce8cf">?/font>标记后,p{入可q行状态,{待OS分配CPU旉片;
4.5、当U程调用wait()Ҏ后会q入{待队列 Q进入这个状态会释放所占有的所有资源,与阻塞状态不同)Q进入这个状态后Q是不能自动唤醒的,必须依靠其他U程调用notify()或notifyAll()Ҏ才能被唤醒(׃notify()只是唤醒一个线E,但我们由不能定具体唤醒的是哪一个线E,也许我们需要唤醒的U程不能够被唤醒Q因此在实际使用Ӟ一般都用notifyAll()ҎQ唤醒有所U程Q,U程被唤醒后会进入锁池,{待获取锁标记?br />
ȝ全部回忆了一遍JDK1.5在API的用上有了较好的改q,效率得到很大的提高,不过几个状态{换的原理q是一栗?br />
?#8230;…不过那一D凄惨而美丽的爱情故事q没完全惌v来,那天全部回忆h了在写吧?
]]> Tomcat下配|JNDI数据库连接池q?/title> http://www.aygfsteel.com/liver/archive/2009/05/31/279309.htmlLiver Liver Sun, 31 May 2009 14:59:00 GMT http://www.aygfsteel.com/liver/archive/2009/05/31/279309.html http://www.aygfsteel.com/liver/comments/279309.html http://www.aygfsteel.com/liver/archive/2009/05/31/279309.html#Feedback 0 http://www.aygfsteel.com/liver/comments/commentRss/279309.html http://www.aygfsteel.com/liver/services/trackbacks/279309.html 一、配|JNDI数据?/span>
q一步有几种配置方式Q比如直接修改Tomcat/conf/server.xml文gQ但q样修改是全局的,个h不太喜欢q样的方式,本着的原则是能不全局׃全局Q以保证目能够量的影响到其他项目,量的q行修改。因此这里才用局部配|的方式?br />
把下边的代码保存为context.xml文gQƈ攑ֈWebRoot/META-INF目录下?br />
<!-- Ҏ实际情况修改 -->
< Context >
< Resource
name ="jdbc/test"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test"
username="root"
password="root" />
</ Context >
二、编辑web.xml文gQ在里边d如下内容
< servlet >
< servlet-name > Test </ servlet-name >
< servlet-class > com.nantian.jndi.Test </ servlet-class >
< init-param >
< param-name > jndi </ param-name >
< param-value > java:comp/env/jdbc/test </ param-value >
</ init-param >
< load-on-startup > 0 </ load-on-startup >
</ servlet >
< servlet-mapping >
< servlet-name > Test </ servlet-name >
< url-pattern > /Test </ url-pattern >
</ servlet-mapping >
三、最后就是测试配|是否成功了
新徏一个Servlet文gTest.javaQ写下如下内?br />
package com.nantian.jndi;
import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.sql.DataSource;
public class Test extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
String jndi = config.getInitParameter( " jndi " );
try {
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup(jndi);
Connection conn = ds.getConnection();
System.out.println( " q接获取成功Q?/span>" + conn);
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
q样可以了试了,q个例子q接的是mysql数据库,别忘记添加mysql驱动的jar包。部|工E,q行TomcatQ在服务器启动的时候就可以看到System.out.println(" q接获取成功Q?/span>" + conn); q条语句输出的信息了?
]]>
վ֩ģ壺
|
Ī |
Ϻ |
|
ɽ |
|
|
|
˹ |
۳ |
|
ϲ |
¹ |
Ҷ |
|
|
|
̰ |
崲 |
|
ƽ |
|
ͨ |
|
ʯ |
|
|
߶ |
ͨ |
|
½ |
ͨ |
|
ˮ |
ϻ |
|
|
|
|
|
|