第一篇:webService基礎總結
? WebService是一種跨編程語言和跨操作系統平臺的遠程調用技術
? 所謂跨編程語言和跨操作平臺,就是說服務端程序采用java編寫,客戶端程序則可以采用其他編程語言編寫,反之亦然!跨操作系統平臺則是指服務端程序和客戶端程序可以在不同的操作系統上運行。? 除了WebService外,常見的遠程調用技術還有RMI(Remote method invoke)和CORBA,由于WebService的跨平臺和跨編程語言特點,因此比其他兩種技術應用更為廣泛,但性能略低。
? WebService使用SOAP協議實現跨編程語言和跨操作系統平臺
? WebService采用HTTP協議傳輸數據,采用XML格式封裝數據(即XML中說明調用遠程服務對象的哪個方法,傳遞的參數是什么,以及服務對象的返回結果是什么)。WebService通過HTTP協議發送請求和接收結果時,發送的請求內容和結果內容都采用XML格式封裝,并增加了一些特定的HTTP消息頭,以說明HTTP消息的內容格式,這些特定的HTTP消息頭和XML內容格式就是SOAP協議(simple object access protocol,簡單對象訪問協議)。
? SOAP協議 = HTTP協議 + XML數據格式
? HTTP協議和XML是被廣泛使用的通用技術,各種編程語言對HTTP協議和XML這兩種技術都提供了很好的支持,WebService客戶端與服務器端使用什么編程語言都可以完成SOAP的功能,所以,WebService很容易實現跨編程語言,跨編程語言自然也就跨了操作系統
? WebService客戶端要調用一個WebService服務,首先要有知道這個服務的地址在哪,以及這個服務里有什么方法可以調用,所以,WebService務器端首先要通過一個WSDL文件來說明自己家里有啥服務可以對外調用,服務是什么(服務中有哪些方法,方法接受的參數是什么,返回值是什么),服務的網絡地址用哪個url地址表示,服務通過什么方式來調用。? WSDL(webservice description language)是基于XML格式的,它是WebService客戶端和服務器端都能理解的標準格式,其中描述的信息可以分為what,where,how等部分!? WSDL文件保存在Web服務器上,通過一個url地址就可以訪問到它。客戶端要調用一個WebService服務之前,要知道該服務的WSDL文件的地址。WebService服務提供商可以通過兩種方式來暴露它的WSDL文件地址:
? 注冊到UDDI服務器,以便被人查找 ? 直接告訴給客戶端調用者,例如,在自己網站給出信息或郵件告訴。
第二篇:WebService優缺點[最終版]
Web服務的優缺點分析
當前WebService是一個熱門話題。但是,WebService究竟是什么?,WebService有什么優點和缺點,什么情況下應該用WebService?什么情況下不應該用WebService?是需要我們正確認識的。
實際上,WebService的主要目標是跨平臺的可互操作性。為了達到這一目標,WebService完全基于XML(可擴展標記語言)、XSD(XMLSchema)等獨立于平臺、獨立于軟件供應商的標準,是創建可互操作的、分布式應用程序的新平臺。由此可以看出,在以下三種情況下,使用 WebService會帶來極大的好處。
優點一:跨防火墻的通信
如果應用程序有成千上萬的用戶,而且分布在世界 各地,那么客戶端和服務器之間的通信將是一個棘手的問題。因為客戶端和服務器之間通常會有防火墻或者代理服務器。在這種情況下,使用DCOM就不是那么簡 單,通常也不便于把客戶端程序發布到數量如此龐大的每一個用戶手中。傳統的做法是,選擇用瀏覽器作為客戶端,寫下一大堆ASP頁面,把應用程序的中間層暴 露給最終用戶。這樣做的結果是開發難度大,程序很難維護。
舉個例子,在應用程序里加入一個新頁面,必須先建立好用戶界面(Web頁面),并在這個頁面后面,包含相應商業邏輯的中間層組件,還要再建立至少一個ASP頁面,用 來接受用戶輸入的信息,調用中間層組件,把結果格式化為HTML形式,最后還要把“結果頁”送回瀏覽器。要是客戶端代碼不再如此依賴于HTML表單,客戶 端的編程就簡單多了。
如果中間層組件換成WebService的話,就可以從用戶界面直接調用中間層組件,從而省掉建立ASP頁面的 那一步。要調用WebService,可以直接使用MicrosoftSOAPToolkit或.NET這樣的SOAP客戶端,也可以使用自己開發的 SOAP客戶端,然后把它和應用程序連接起來。不僅縮短了開發周期,還減少了代碼復雜度,并能夠增強應用程序的可維護性。同時,應用程序也不再需要在每次 調用中間層組件時,都跳轉到相應的“結果頁”。
從經驗來看,在一個用戶界面和中間層有較多交互的應用程序中,使用 WebService這種結構,可以節省花在用戶界面編程上20%的開發時間。另外,這樣一個由WebService組成的中間層,完全可以在應用程序集 成或其它場合下重用。最后,通過WebService把應用程序的邏輯和數據“暴露”出來,還可以讓其它平臺上的客戶重用這些應用程序。
優點二:應用程序集成
企業級的應用程序開發者都知道,企業里經常都要把用不同語言寫成的、在不同平臺上運行的各種程序集成起來,而這種集成將花費很大的開發力量。應用程序經 常需要從運行在IBM主機上的程序中獲取數據;或者把數據發送到主機或UNIX應用程序中去。即使在同一個平臺上,不同軟件廠商生產的各種軟件也常常需要 集成起來。通過WebService,應用程序可以用標準的方法把功能和數據“暴露”出來,供其它應用程序使用。
例如,有一個訂單登 錄程序,用于登錄從客戶來的新訂單,包括客戶信息、發貨地址、數量、價格和付款方式等內容;還有一個訂單執行程序,用于實際貨物發送的管理。這兩個程序來 自不同軟件廠商。一份新訂單進來之后,訂單登錄程序需要通知訂單執行程序發送貨物。通過在訂單執行程序上面增加一層WebService,訂單執行程序可 以把“AddOrder”函數“暴露”出來。這樣,每當有新訂單到來時,訂單登錄程序就可以調用這個函數來發送貨物了。
優點三:B2B的集成
用WebService集成應用程序,可以使公司內部的商務處理更加自動化。但當交易跨越供應商和客戶、突破公司的界限時會怎么樣呢?跨公司的商務交易集成通常叫做B2B集成。
WebService是B2B集成成功的關鍵。通過WebService,公司可以把關鍵的商務應用“暴露”給指定的供應商和客戶。例如,把電子下單系 統和電子發票系統“暴露”出來,客戶就可以以電子的方式發送訂單,供應商則可以以電子的方式發送原料采購發票。當然,這并不是一個新的概念,EDI(電子 文檔交換)早就是這樣了。但是,WebService的實現要比EDI簡單得多,而且WebService運行在Internet上,在世界任何地方都可 輕易實現,其運行成本就相對較低。不過,WebService并不像EDI那樣,是文檔交換或B2B集成的完整解決方案。WebService只是B2B 集成的一個關鍵部分,還需要許多其它的部分才能實現集成。
用WebService來實現B2B集成的最大好處在于可以輕易實現互操作 性。只要把商務邏輯“暴露”出來,成為WebService,就可以讓任何指定的合作伙伴調用這些商務邏輯,而不管他們的系統在什么平臺上運行,使用什么 開發語言。這樣就大大減少了花在B2B集成上的時間和成本,讓許多原本無法承受EDI的中小企業也能實現B2B集成。
優點四:軟件和數據重用
軟件重用是一個很大的主題,重用的形式很多,重用的程度有大有小。最基本的形式是源代碼模塊或者類一級的重用,另一種形式是二進制形式的組件重用。
當前,像表格控件或用戶界面控件這樣的可重用軟件組件,在市場上都占有很大的份額。但這類軟件的重用有一個很大的限制,就是重用僅限于代碼,數據不能重用。原因在于,發布組件甚至源代碼都比較容易,但要發布數據就沒那么容易,除非是不會經常變化的靜態數據。
WebService在允許重用代碼的同時,可以重用代碼背后的數據。使用WebService,再也不必像以前那樣,要先從第三方購買、安裝軟件組 件,再從應用程序中調用這些組件;只需要直接調用遠端的WebService就可以了。舉個例子,要在應用程序中確認用戶輸入的地址,只需把這個地址直接 發送給相應的WebService,這個WebService就會幫你查閱街道地址、城市、省區和郵政編碼等信息,確認這個地址是否在相應的郵政編碼區 域。WebService的提供商可以按時間或使用次數來對這項服務進行收費。這樣的服務要通過組件重用來實現是不可能的,那樣的話你必須下載并安裝好包 含街道地址、城市、省區和郵政編碼等信息的數據庫,而且這個數據庫還是不能實時更新的。
另一種軟件重用的情況是,把好幾個應用程序的 功能集成起來。例如,要建立一個局域網上的門戶站點應用,讓用戶既可以查詢聯邦快遞包裹,查看股市行情,又可以管理自己的日程安排,還可以在線購買電影 票。現在Web上有很多應用程序供應商,都在其應用中實現了這些功能。一旦他們把這些功能都通過WebService“暴露”出來,就可以非常容易地把所 有這些功能都集成到你的門戶站點中,為用戶提供一個統一的、友好的界面。
將來,許多應用程序都會利用WebService,把當前基 于組件的應用程序結構擴展為組件/WebService的混合結構,可以在應用程序中使用第三方的WebService提供的功能,也可以把自己的應用程 序功能通過WebService提供給別人。兩種情況下,都可以重用代碼和代碼背后的數據。
從以上論述可以看出,WebService在通過Web進行互操作或遠程調用的時候是最有用的。不過,也有一些情況,WebService根本不能帶來任何好處。
缺點一:單機應用程序
目前,企業和個人還使用著很多桌面應用程序。其中一些只需要與本機上的其它程序通信。在這種情況下,最好就不要用WebService,只要用本地的 API就可以了。COM非常適合于在這種情況下工作,因為它既小又快。運行在同一臺服務器上的服務器軟件也是這樣。最好直接用COM或其它本地的API來 進行應用程序間的調用。當然WebService也能用在這些場合,但那樣不僅消耗太大,而且不會帶來任何好處。
缺點二:局域網的同構應用程序
在許多應用中,所有的程序都是用VB或VC開發的,都在Windows平臺下使用COM,都運行在同一個局域網上。例如,有兩個服務器應用程序需要相互 通信,或者有一個Win32或WinForm的客戶程序要連接局域網上另一個服務器的程序。在這些程序里,使用DCOM會比SOAP/HTTP有效得多。與此相類似,如果一個.NET程序要連接到局域網上的另一個.NET程序,應該使用.NETremoting。有趣的是,在.NETremoting中,也可以指定使用SOAP/HTTP來進行WebService調用。不過最好還是直接通過TCP進行RPC調用,那樣會有效得多。
第三篇:java 調用webservice的各種方法總結
一、利用jdk web服務api實現,這里使用基于 SOAP message 的 Web 服務
1.首先建立一個Web services EndPoint:
Java代碼
package Hello;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.xml.ws.Endpoint;
@WebService
public class Hello {
@WebMethod
public String hello(String name){
return “Hello, ” + name + “n”;}
public static void main(String[] args){
// create and publish an endpoint
Hello hello = new Hello();
Endpoint endpoint Endpoint.publish(“http://localhost:8080/hello”, hello);
} }
=
2.使用 apt 編譯 Hello.java(例:apt-d [存放編譯后的文件目錄] Hello.java),會生成 jaws目錄
3.使用java Hello.Hello運行,然后將瀏覽器指向http://localhost:8080/hello?wsdl就會出現下列顯示
4.使用wsimport 生成客戶端
使用如下:wsimport-p.-keep http://localhost:8080/hello?wsdl
5.客戶端程序:
Java代碼
1.class HelloClient{ 2.3.public static void main(String args[]){ 4.5.HelloService service = new HelloService();6.7.Hello helloProxy = service.getHelloPort();8.9.String hello = helloProxy.hello(“你好”);10.11.System.out.println(hello);12.13.} 14.15.} 16.二、使用xfire,我這里使用的是myeclipse集成的xfire進行測試的
利用xfire開發WebService,可以有三種方法:
1一種是從javabean 中生成;
一種是從wsdl文件中生成;
還有一種是自己建立webservice
步驟如下:
用myeclipse建立webservice工程,目錄結構如下:
首先建立webservice接口,代碼如下:
Java代碼
1.package com.myeclipse.wsExample;2.3.//Generated by MyEclipse 4.5.6.7.public interface IHelloWorldService { 8.9.10.11.public String example(String message);12.13.14.15.} 16.Java代碼
1.package com.myeclipse.wsExample;2.3.//Generated by MyEclipse 4.5.6.7.public class HelloWorldServiceImpl implements IHelloWorldService { 8.9.10.11.public String example(String message){ 12.13.return message;14.15.} 16.17.18.19.} 20.修改service.xml 文件,加入以下代碼:
Xml代碼
1.2.3.
客戶端實現如下:
Java代碼
1.package com.myeclipse.wsExample.client;2.3.import java.net.MalformedURLException;4.5.import java.net.URL;6.7.8.9.import org.codehaus.xfire.XFireFactory;10.11.import org.codehaus.xfire.client.Client;12.13.import org.codehaus.xfire.client.XFireProxyFactory;14.15.import org.codehaus.xfire.service.Service;16.17.import org.codehaus.xfire.service.binding.ObjectServiceFactory;18.19.20.21.import com.myeclipse.wsExample.IHelloWorldService;22.23.24.25.public class HelloWorldClient { 26.27.public static void main(String[] args)throws MalformedURLException, Exception { 28.29.// TODO Auto-generated method stub 30.31.Service s=new ObjectServiceFactory().create(IHelloWorldService.class);32.33.XFireProxyFactory xf=new XFireProxyFactory(XFireFactory.newInstance().getXFire());34.35.String url=“http://localhost:8989/HelloWorld/services/HelloWorldService”;36.37.38.39.try 40.41.{ 42.43.44.45.IHelloWorldService hs=(IHelloWorldService)xf.create(s,url);46.47.String st=hs.example(“zhangjin”);48.49.System.out.print(st);50.51.} 52.53.catch(Exception e)54.55.{ 56.57.e.printStackTrace();58.59.} 60.61.} 62.63.64.65.} 66.這里再說點題外話,有時候我們知道一個wsdl地址,比如想用java客戶端引用.net 做得webservice,使用myeclipse引用,但是卻出現無法通過驗證的錯誤,這時我們可以直接在類中引用,步驟如下:
Java代碼
1.public static void main(String[] args)throws MalformedURLException, Exception { 2.3.// TODO Auto-generated method stub 4.5.Service s=new ObjectServiceFactory().create(IHelloWorldService.class);6.7.XFireProxyFactory xf=new XFireProxyFactory(XFireFactory.newInstance().getXFire());8.9.10.11.//遠程調用.net開發的webservice 12.13.Client c=new Client(new URL(“http://www.tmdps.cn/axis2/
同理,也需要將axis2復制到webapp目錄中
在axis2中部署webservice有兩種方法,第一種是pojo方式,這種方式比較簡單,但是有一些限制,例如部署的類不能加上包名
第二種方式是利用xml發布webservice,這種方法比較靈活,不需要限制類的聲明
下面分別說明使用方法:
1.pojo方式:在Axis2中不需要進行任何的配置,就可以直接將一個簡單的POJO發布成WebService。其中POJO中所有的public方法將被發布成WebService方法。先實現一個pojo類:
Java代碼
1.public class HelloWorld{ 2.3.public String getName(String name)4.5.{ 6.7.return ”你好 “ + name;8.9.} 10.11.public int add(int a,int b)12.13.{ 14.15.return a+b;16.17.} 18.19.} 20.由于這兩個方法都是public類型,所以都會發布成webservice。編譯HelloWorld類后,將HelloWorld.class文件放到%tomcat%webappsaxis2WEB-INFpojo目錄中(如果沒有pojo目錄,則建立該目錄),然后打開瀏覽器進行測試:
輸入一下url:
http://localhost:8080/axis2/services/listServices
會列出所有webservice
這是其中的兩個webservice列表,接著,在客戶端進行測試:
首先可以寫一個封裝類,減少編碼,代碼如下:
Java代碼
1.package MZ.GetWebService;2.3.import javax.xml.namespace.QName;4.5.6.7.import org.apache.axis2.AxisFault;8.9.import org.apache.axis2.addressing.EndpointReference;10.11.import org.apache.axis2.client.Options;12.13.import org.apache.axis2.rpc.client.RPCServiceClient;14.15.16.17.18.19.public class GetWSByAxis2 { 20.21.private static String EndPointUrl;22.23.private static String QUrl=”http://ws.apache.org/axis2“;
24.25.private QName opAddEntry;26.27.public String WSUrl;28.29.public RPCServiceClient setOption()throws AxisFault 30.31.{ 32.33.RPCServiceClient serviceClient = new RPCServiceClient();34.35.Options options = serviceClient.getOptions();36.37.EndpointReference targetEPR = new EndpointReference(WSUrl);38.39.options.setTo(targetEPR);40.41.return serviceClient;42.43.} 44.45.46.47.public QName getQname(String Option){ 48.49.50.51.return new QName(QUrl,Option);52.53.} 54.55.//返回String 56.57.public String getStr(String Option)throws AxisFault 58.59.{ 60.61.RPCServiceClient serviceClient =this.setOption();62.63.64.65.opAddEntry =this.getQname(Option);66.67.68.69.String str =(String)serviceClient.invokeBlocking(opAddEntry, 70.71.new Object[]{}, new Class[]{String.class })[0];72.73.return str;74.75.} 76.77.// 返回一維String數組 78.79.public String[] getArray(String Option)throws AxisFault
80.81.{ 82.83.RPCServiceClient serviceClient =this.setOption();84.85.86.87.opAddEntry =this.getQname(Option);88.89.90.91.String[] strArray =(String[])serviceClient.invokeBlocking(opAddEntry, 92.93.new Object[]{}, new Class[]{String[].class })[0];94.95.return strArray;96.97.} 98.99.//從WebService中返回一個對象的實例
100.101.public Object getObject(String Option,Object o)throws AxisFault 102.103.{ 104.105.RPCServiceClient serviceClient =this.setOption();106.107.QName qname=this.getQname(Option);108.109.Object object = serviceClient.invokeBlocking(qname, new Object[]{},new Class[]{o.getClass()})[0];110.111.return object;112.113.} 114.115.116.117.///////////////////////////////////////// 讀者可以自己封裝數據類型,如int,byte,float等數據類型
118.119.} 120.客戶端調用方法:
Java代碼
1.MZ.GetWebService.GetWSByAxis2 ws=new MZ.GetWebService.GetWSByAxis2();2.3.ws.WSUrl=”http://localhost:8989/axis2/services/HelloWorld“;4.5.HelloWorld hello=(HelloWorld)ws.getObject(”getName“, HelloWorld.class);6.7.8.9.10.11.System.out.println(hello.getName(”zhangjin“));12.2.使用service.xml發布webservice,這種方式和直接放在pojo目錄中的POJO類不同。要想將MyService類發布成Web Service,需要一個services.xml文件,這個文件需要放在META-INF目錄中,該文件的內容如下:
Xml代碼
1.
http://localhost:8080/axis2/services/myService?wsdl
除此之外,還有直接可以在其中制定webservice操作方法:可以這樣些service.xml文件
Java代碼
1. 10.11.service.HelloWorld 12.13. 14.15.
第四篇:WebService客戶端代碼生成方式總結
一、Webservice可以使用的框架很多。AXIS、CXF、JAX、XFIRE,這些框架都可以根據wsdl文件生成ws的服務器和客戶端代碼。
二、Ws的調用方式有三種,http post、http get、soap post。本人建議使用http post,他訪問遠程ws接口的速度比使用soap post要快些。象使用axis框架實現soap post方式來說,簡單的接口還好,對于使用了大量代理類及帶有soaphead的ws,且還要在本地生成一大堆JAVA類來和服務端對應。特別如下這種情況,axis好像無法實現。Soaphead如下 67677
下面就如何書寫客戶端代碼詳細講解下。1.通過發送http post請求來調用ws。
SOAPUI是個不錯的工具,他可以根據wsdl文件生成測試例子。另外重要的是,它可以生成wsdl對應的請求報文和響應報文。這樣我們在調用別人寫的ws時,不管多復雜的ws都可以簡單的調用。首先按照SOAPUI顯示的請求報文格式拼裝我們的請求報文,使用java.net.HttpURLConnection對象來發送http post請求。然后使用輸出流、輸出流獲得響應報文,再用Element解析報文得到要取的數據。示例代碼如下: JAVA類SoapInvoke: package test;
import java.io.InputStream;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.URL;
public class SoapInvoke {
public static void main(String[] args){
} try {
} soapSpecialConnection();e.printStackTrace();} catch(Exception e){ public static void soapSpecialConnection()throws Exception {
//拼裝soap請求報文
StringBuilder sb = new StringBuilder();StringBuilder soapHeader = new StringBuilder();soapHeader.append(“
//設置soap請求報文的相關屬性
String url=“http://localhost:8080/CXFServer/SayHelloService”;URL u = new URL(url);HttpURLConnection conn =(HttpURLConnection)u.openConnection();conn.setDoInput(true);conn.setDoOutput(true);conn.setUseCaches(false);conn.setDefaultUseCaches(false);conn.setRequestProperty(“Host”, “localhost:8080”);conn.setRequestProperty(“Content-Type”, “text/xml;charset=utf-8”);conn.setRequestProperty(“Content-Length”, String.valueOf(soapHeader.length()));conn.setRequestProperty(“SOAPAction”, “");conn.setRequestMethod(”POST“);//定義輸出流
OutputStream output = conn.getOutputStream();if(null!= soapHeader){ byte[] b = soapHeader.toString().getBytes(”utf-8“);//發送soap請求報文
output.write(b, 0, b.length);} output.flush();output.close();//定義輸入流,獲取soap響應報文
InputStream input = conn.getInputStream();int c =-1;//sb為返回的soap響應報文字符串
while(-1!=(c = input.read())){ sb.append((char)c);} input.close();}
} 2.通過axis來調用ws。
對于使用了復雜代理類的ws,我們在調用時可以使用AXIS、CXF、xfire架包來自動生成ws客戶端JAVA代碼。下面以axis為例,來展示。服務器端主要JAVA代碼 package test;
import javax.jws.WebService;
@WebService public class SayHelloImpl implements SayHelloService {
public wsResult sayHelloMr(String name){
wsResult retObj = new wsResult();
retObj.setResultVal(”Hello,mr “ + name);
return retObj;
}
public wsResult sayHelloMiss(InputClass input){
wsResult retObj = new wsResult();
retObj.setResultVal(”Hello,Miss “ + input.getName());
return retObj;
} } 客戶端:
1)新建wsdltojava.bat文件,放到C盤,文件內容如下: set Axis_Lib=E:axis-bin-1_4axis-1_4lib set Java_Cmd=java-Djava.ext.dirs=%Axis_Lib% set Axis_Servlet=http://localhost:8080/CXFServer/SayHelloService?wsdl %Java_Cmd% org.apache.axis.wsdl.WSDL2Java-u %Axis_Servlet% 其中Axis_Lib為本地axis架包的路徑;Axis_Servlet為本地ws的URL,這里也可以設置為此ws服務器對應的wsdl文件的路徑。
2)在DOS里,執行wsdltojava.bat。在C盤根目錄下就會生成JAVA客戶端的代碼了 3)新建一個java類Invoke,代碼如下:
package test;
public class invoke {
} }
SayHelloService stub = svc.getSayHelloImplPort();//調用
//WsResult wsResult = stub.sayHelloMr(”zhouyun“);InputClass inputClass=new InputClass();inputClass.setName(”zhouyun“);WsResult wsResult = stub.sayHelloMiss(inputClass);System.out.println(”結果是:" + wsResult.getResultVal());public static void getResult(){ try { SayHelloImplServiceLocator svc = new } public static void main(String[] args)throws Exception { getResult();SayHelloImplServiceLocator();} catch(Exception e){ } System.out.println(e);Ps: 1.通過命令生成的java客戶端代碼里SayHelloImplServiceLocator類是調用ws的入口。
2.執行此類,Myelipse控制臺會輸出Hello,Miss zhouyun,代表調用成功。
3.象JAX、xfire架包生成的客戶端代碼不能實現代理類輸入、輸出,只可以實現簡單數據類型輸入、輸出,象String、Map、AaaryList等等。只有axis可以實現代理類的輸入、輸出。
第五篇:材料科學基礎總結
金屬學復習總結
鋼的牌號代表的鋼的種類: Q235 9SiCr 1Cr18Ni9 45 H62 KTH300-06 4Cr13 LC4 LY1 1Cr18Ni9Ti QT450-10 QT700-2 HT200 40CrNi T7A QT400-15 20CrMnTi CrWMn LF5 60Si2Mn Q345 H80 Q215 65Mn 20CrMnTi 40 40Cr 40Cr ZGMn13-1 15Cr 60Si2Mn 3Cr13 2Cr13 GCr15 5CrNiMo 1Cr18Ni9 T8 RUT260 W18Cr4V Q345 HT250 Q275 1Cr13 Q255 T12 20 GCr15SiMn HT250
鋼的種類代表的常用鋼種: 如: 優質碳素結構鋼45, 高錳鋼 滲碳鋼 灰鑄鐵 球墨鑄鐵 合金彈簧鋼 低合金工具鋼 蠕墨鑄鐵 奧氏體不銹鋼 普通質量碳素結構鋼 調質鋼 馬氏體不銹鋼 碳素工具鋼 1.過冷奧氏體發生的馬氏體轉變屬于(非擴散型相變)2.珠光體型的組織是由鐵素體和滲碳體組成的(機械混合物)3.碳鋼誶火要得到馬氏體組織,其冷卻速度要()臨界冷卻速度(vk)。4.工件淬火后需立即回火處理,隨著回火溫度的提高,材料的硬度()5.共析成分的液態鐵碳合金緩慢冷卻得到的平衡組織是P
表征材料表面局部區域內抵抗變形能力的指標為()2.下列原子結合鍵既具有方向性又具有飽和性的是()3.下面哪個不屬于大多數金屬具有的晶體結構()4.面心立方結構晶胞中原子數個數是()
5.如圖1所示的位錯環中,屬于刃型位錯的是()6.固體材料中物質傳輸的方式為()7.純鐵在室溫下的晶體結構為()8.由一種成分的液相同時凝固生成兩種不同成分面相的過程稱為()9.碳原子溶于α-Fe形成的固溶體為()10.鋼鐵材料的熱加工通常需要加熱到()相區
l.成分三角形中標出了O材料的成分點()2.白銅是以()為主要合金元素的鋼合金
3.45鋼和40Cr鋼比較,45鋼的(淬透性低,淬硬性高)4.金屬塑性變形方式的是(滑移)5.下列不同含碳量的鋼中,強度最高的是()A.WC=0.2% B.WC=0.45% C.WC=0.8% 「,WC=l.2%
我的手機
16:23:21 l.高分子大分子鏈的()決定了高分子材料獨特的性能 2.在置換型固溶體中,兩組元原子擴散速率的差異引起的標記面漂移現象稱為()3.為減少鑄造缺陷,鑄造合金需要熔點低、流動性好,因此一般選擇()的合金。4.根據相律,對于三元合金,最大的平衡相數為()5.調質處理是()的復合熱處理工藝 6.材料塑性常用()和()兩個指標表示
7.按溶質原子不在晶格中的位置不同,固溶體可分為()和()8.純金屬品體中的點缺陷主要包括()和()
加工硬化: 淬火: 熱硬性:
回復與再結晶: 成分過冷:
制造某齒輪,要求齒輪表面有高的硬度(>50HRC),面心部具有良好的韌(AK>40J),原采用40鋼材料,現因廠庫存的40鋼已用完,現只剩20鋼,擬用20鋼代替,試說明
(1)分別寫出40鋼和20鋼的預先熱處理和最終熱處理方法(或者寫出完整的加工工藝路線)(2)分別寫出40鋼和20鋼的熱處理方法的目的及最終熱處理后獲得組織?
1.()是固體材料中物質傳輸的唯一方式。
2.a-Fe在室溫下的品體結構為()A.面心立方B.體心立方C.密排六方D.正方結構
3.恒溫條件下,由一種成分的固相同時生成兩種不同成分固相的轉變稱為()。A.勻晶轉變B.共析轉變C.包晶轉變D.共晶轉變 4.碳原子溶于γ-Fe中形成的固溶體為()。5.過冷奧氏體發生的珠光體轉變屬于()。
6.表征材料在外力作用下產生塑性變形能力的指標為()。7.結合鍵既無方向性又無飽和性的是()8.不屬于大多數金屬具有的晶體結構()9.體心立方結構晶胞中原子的個數是()。10.萊氏體是由()組成的共晶體。
11.工件淬火后需立即回火處理,隨著回火溫度的降低,材料的硬度()。12.過共析成分的液態鐵碳合金緩慢冷卻得到的平衡組織是()。13.黃銅是以()為主要合金元素的銅合金。14.45鋼和40Cr鋼比較,40Cr鋼的(B)。
A.淬透性低,淬硬性高B.淬透性高,淬硬性低C淬透性高,淬硬性高D.無法比較
15.下列不同含碳量的鋼中,塑性最好的是()A.WC=0.25% B.WC=0.50% C.WC=0.9% D.WC=1.4%
1.常溫下的塑料為玻璃態,而常溫下的橡膠為()2.鐵碳合金貝氏體轉變時,溫度較高存在()的擴散。3.根據相律,對于二元合金,最大的平衡相數為(3)。4.晶體中位錯運動的方式有()和()。
5.按溶質原子在晶格中的位置不同,固溶體可分為()和()
6.晶體中產生刃型位錯的位錯線與柏氏矢量(),螺型位錯的位錯線與柏氏矢量()。
二次硬化: 時效處理: 復合材料: 變形織構:
我的手機
16:23:21 分別用40Cr和20Cr做某型號柴油機的凸輪軸,試說明:(1)寫出40Cr鋼和20Cr鋼的預先熱處理和最終熱處理方法(2)分別寫出40Cr鋼和20Cr鋼的熱處理方法的目及最終熱處理 后獲得組織?
T10鋼加熱到A1+50℃,用圖示的方法冷卻。1.T10鋼加熱后得到什么組織? 2.分別寫出轉變完全后得到什么組織?
1.擴散發生的驅動力是()
2.有反應擴散的現象的熱處理工藝是()A.回火 B.退火 C.表面淬火 D.滲碳 3.γ-Fe在室溫下的晶體結構為()
4.()是碳原子溶于γ-Fe中形成的間隙固溶體。5.板條馬氏體和針狀馬氏體相比,其特點是()
6.常溫下的塑料為(),而常溫下的橡膠為高彈態。
7.一般碳鋼淬火后有殘余奧氏體存在,可以通過()處理,最大限度消除殘余奧氏體。
8.錫基和鉛基鑄造軸承合金也稱為()
9.材料的結晶過程是品核()與()兩個過程。
10.晶體中()的位錯線與柏氏失量垂直,()的位錯線與柏氏矢量平行。
鋼的牌號代表的鋼的種類: Q255 KTH300-06 65Mn 20 CrWMn 40Cr HT250 LY1 15Cr 1Cr18Ni9 T7A 2Cr13QT700-2 Q345
1.均勻形核(非均勻形核): 2.二次硬化: 4.偽共晶: 5.熱處理:
下圖所示的二元共品相圖,(1)在平衡凝固條件下、成份為Wb=40%的合金①在室溫下的相組成和組織組成分別是什么?(2)如果希望得到共品組織加上相對量為5%的β的合金,求該合金的成分。
材料9SiCr(T12A)制造簡單小型冷沖模。1.零件加工工藝路線。
2.各熱處理的目的和獲得的組織。
1.面心立方晶體中,可能潛在的滑移系有()。
2.圖中1、2、3合金在常溫下凝固后,枝晶偏析最大的是()3.殘余奧氏體可以通過()處理進行最大限度的消除。4.針狀馬氏體和板條馬氏體相比,其特點是()。
5.板條狀馬氏體的亞結構()針狀馬氏體的亞結構是()6.屬于擴散型轉變的是()A.珠光體體轉變 B.上貝氏轉變 C.下貝氏體轉變 D.馬氏體轉變
1.鐵素體最高含碳量為()2.鐵碳合金相圖中從奧氏體中開始析出鐵素體的轉變曲線又稱為()3.反應擴散的現象的熱處理工藝是()4.鐵碳合金平衡凝固后,室溫存在的低溫萊氏體的組成相是()
Fe-Fe3C相圖
立方晶體的ABCD滑移面上有一正方形位錯環(順時針為正方向),指出CD段位錯線的類型是()A.正刃型B.負刃型C.右螺型D.左螺型
立方晶體的ABCD滑移面上有一正方形位錯環(順時針為正方向),指出CD段位錯線的類型是()A.正刃型B.負刃型C.右螺型D.左螺型
1.密排六方結構的配位數是(12)。
2.面心立方結構的原子最密排面的晶品向族為()A.[111] B.<111> C.[110] D.<110>
1.灰鑄鐵力學性能主要取決于()和(),2.結構起伏和能量起伏是均勻形核的必要條件同時,均勻形核還須在一定的()
1.相律是在完全平衡狀態下,系統的()、()和溫度壓力之間的關系,是系統的平衡條件的數學表達式:()口ZGMn13-1 口Q275 口空間點陣 口5CrNiMo 口RUT260 口結構起伏 口3Cr13 口彌散強化 口Q345 口李晶
口柏氏矢量
1.生產中一般以()作為評定材料切削加工性能的主要參數。A.強度B.硬度C.韌性D.塑性
2.哪種材料不能鍛造加工成型()。A.可鍛鑄鐵B.鋁合金C.銅合金D.低碳鋼 3.圖2所示的二元共晶型合金中,容易產生偽共晶組織的合金為(); 容易產生離異共晶的合金為()。A.合金A B.合金B C.合金C D.合金D
1.位錯沿滑移面的移動稱為滑移,滑移面和滑移方向往往是()和()。2.不同含碳量的鋼中,硬度最高的是()。
A.WC=0.3% B.WC=0.70% C.WC=0.8% D.WC=1.3% 3.鋼鐵材料能夠進行熱處理的根本原因是()。
鋼的種類代表的常用鋼種: 如: 優質碳素結構鋼45。高錳鋼 球墨鑄鐵 @蠕墨鑄鐵 調質鋼 滲碳鋼
@合金彈簧鋼 奧氏體不銹鋼 馬氏體不銹鋼 灰鑄鐵
低合金工具鋼
普通質量碳素結構鋼 @碳素工具鋼 定義: 材料的工藝性能: 熱變形:
非平衡凝固(平衡凝固)離異共晶
正(負)溫度梯度
1.亞共析鋼的平衡相組成是()。A.F+A B.F+P C.F+Fe3C D.A+Fe3C 2.過共析碳鋼的正常淬火加熱溫度為()A.Ac1+30~50℃ E Ac3+30~50℃ C.Ac3+50~100℃ D.Accm+30~50℃
3.反復彎折鐵絲,鐵絲會越來越硬,最后會斷裂,這是由于產生了()。A.固溶強化現象B.再結晶現象C.加工硬化現象D.彌散強化現象
4.為了改善碳素工具鋼的切削加工性能,常采用的熱處理工藝是()。A.完全退火B.擴散退火C球化退火D.再結晶退火
5.灰鑄鐵具有良好的抗壓、減震性能,常用于制造(A.曲軸B.管接頭C.連桿D.機床床身、底座、箱體 6.下列鋼淬透性高低排列順序正確的是()。A.T8>20CrMnTi>25 B.20CrMnT1>25>T8 C.25>T8>20CrMnTi D.20CrMnTi>T8>25 7.鋼加熱時A的形成是由()、()、()、()等四個基本過程所組成的8.鋼的淬火加熱溫度越高,淬火后馬氏體中含碳量越(),馬氏體晶粒越(),殘余奧氏體的量()