《Java程序設(shè)計(jì)》課程設(shè)計(jì)大作業(yè)服務(wù)端聊天系統(tǒng)

上傳人:仙*** 文檔編號(hào):26912622 上傳時(shí)間:2021-08-14 格式:DOC 頁(yè)數(shù):21 大小:146.05KB
收藏 版權(quán)申訴 舉報(bào) 下載
《Java程序設(shè)計(jì)》課程設(shè)計(jì)大作業(yè)服務(wù)端聊天系統(tǒng)_第1頁(yè)
第1頁(yè) / 共21頁(yè)
《Java程序設(shè)計(jì)》課程設(shè)計(jì)大作業(yè)服務(wù)端聊天系統(tǒng)_第2頁(yè)
第2頁(yè) / 共21頁(yè)
《Java程序設(shè)計(jì)》課程設(shè)計(jì)大作業(yè)服務(wù)端聊天系統(tǒng)_第3頁(yè)
第3頁(yè) / 共21頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《《Java程序設(shè)計(jì)》課程設(shè)計(jì)大作業(yè)服務(wù)端聊天系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《《Java程序設(shè)計(jì)》課程設(shè)計(jì)大作業(yè)服務(wù)端聊天系統(tǒng)(21頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、 2011—2012學(xué)年第一學(xué)期 《Java程序設(shè)計(jì)》課程大作業(yè) 題目: 服務(wù)端聊天系統(tǒng) 專(zhuān)業(yè): 計(jì)算機(jī) 班級(jí): 計(jì)算機(jī)1班 學(xué)號(hào): 090400224 姓名: 馬英俊 教師: 楊樹(shù)林 日期:2011年 12月 22 日 項(xiàng)目 內(nèi)容 單項(xiàng)分值 總分 選題 1.題目明確,系統(tǒng)功能較集中 4 8 2.

2、題目難度適宜,有一定的綜合性 4 功能實(shí)現(xiàn) 3.功能完整,能夠正確運(yùn)行 6 24 4.模塊劃分合理,程序結(jié)構(gòu)清晰 6 5.界面設(shè)計(jì)合理、易用、協(xié)調(diào) 6 6.設(shè)計(jì)與實(shí)現(xiàn)程序 6 規(guī)范性及文檔 7.代碼規(guī)范性及注釋 5 10 8.文檔內(nèi)容齊全,格式規(guī)范 5 總體效果 9.完成總體質(zhì)量 6 12 10.軟件功能及技術(shù)水平 6 答辯 11.講解清楚明了,功能演示流暢 6 6 評(píng)語(yǔ) 總分 一. 課程設(shè)計(jì)目的 JAVA程序設(shè)計(jì)是計(jì)算機(jī)相關(guān)專(zhuān)業(yè)的必修專(zhuān)業(yè)基礎(chǔ)課程,其實(shí)踐性、應(yīng)用性很強(qiáng)。實(shí)踐是必不可少的一個(gè)重要環(huán)節(jié)。JAVA程序

3、設(shè)計(jì)的設(shè)計(jì)目的是加深對(duì)理論內(nèi)容的理解和掌握,更加系統(tǒng)地掌握程序設(shè)計(jì)及其在開(kāi)發(fā)中的廣泛應(yīng)用,基本方法及技巧,為綜合運(yùn)用所學(xué)知識(shí),利用軟件工程為基礎(chǔ)進(jìn)行軟件開(kāi)發(fā)、并在實(shí)踐應(yīng)用方面打下一定基礎(chǔ)。 二. 課程設(shè)計(jì)的實(shí)驗(yàn)環(huán)境 運(yùn)行windows 2007或XP以上微機(jī)系統(tǒng),JDK,NETBEAN。 三. 課程設(shè)計(jì)主要內(nèi)容 Java語(yǔ)言的學(xué)習(xí)熱潮并沒(méi)有因?yàn)闀r(shí)間的推移而消退,相反,由于計(jì)算機(jī)技術(shù)的發(fā)展所帶來(lái)新應(yīng)用的出現(xiàn),Java越來(lái)越流行,這種情況是以往程序設(shè)計(jì)語(yǔ)言在其生存周期內(nèi)所不多見(jiàn)的。Java語(yǔ)言之所以這樣長(zhǎng)盛不衰,一是因?yàn)槠浔姸嗟募夹g(shù)特點(diǎn)與現(xiàn)今的應(yīng)用十分合拍,可以覆蓋大部分的需求;二是因?yàn)镾

4、UN公司不斷推出新的版本,完善Java自身的功能。有了這兩點(diǎn),Java語(yǔ)言成為程序員首選的程序設(shè)計(jì)開(kāi)發(fā)工具就在情理之中了。 服務(wù)端聊天系統(tǒng)是一個(gè)方便于兩端用戶(hù)溝通的軟件,通過(guò)輸入偵聽(tīng)方的端口號(hào)(例如:8888)來(lái)啟動(dòng)服務(wù)。當(dāng)服務(wù)啟動(dòng)時(shí),可進(jìn)行聊天;當(dāng)停止服務(wù)時(shí),聊天信息將不再接受。 四. 詳細(xì)設(shè)計(jì) 程序詳細(xì)設(shè)計(jì)代碼如下: package org.Adam; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import .*; impor

5、t java.io.*; import org.Adam.PortConf; import org.Adam.ServerListen; /** * * @author Administrator */ public class ChatServer extends JFrame implements ActionListener{ public static int port = 8888;//服務(wù)端的偵聽(tīng)端口 ServerSocket serverSocket;//服務(wù)端Socket Image icon;//程序圖標(biāo) JComboBox com

6、bobox;//選擇發(fā)送消息的接受者 JTextArea messageShow;//服務(wù)端的信息顯示 JScrollPane messageScrollPane;//信息顯示的滾動(dòng)條 JTextField showStatus;//顯示用戶(hù)連接狀態(tài) JLabel sendToLabel,messageLabel; JTextField sysMessage;//服務(wù)端消息的發(fā)送 JButton sysMessageButton;//服務(wù)端消息的發(fā)送按鈕 UserLinkList userLinkList;//用戶(hù)鏈表 //建立菜單欄 JMenuBar

7、jMenuBar = new JMenuBar(); //建立菜單組 JMenu serviceMenu = new JMenu ("服務(wù)(V)"); //建立菜單項(xiàng) JMenuItem portItem = new JMenuItem ("端口設(shè)置(P)"); JMenuItem startItem = new JMenuItem ("啟動(dòng)服務(wù)(S)"); JMenuItem stopItem=new JMenuItem ("停止服務(wù)(T)"); JMenuItem exitItem=new JMenuItem ("退出(X)"); JMenu he

8、lpMenu=new JMenu ("幫助(H)"); JMenuItem helpItem=new JMenuItem ("幫助(H)"); //建立工具欄 JToolBar toolBar = new JToolBar(); //建立工具欄中的按鈕組件 JButton portSet;//啟動(dòng)服務(wù)端偵聽(tīng) JButton startServer;//啟動(dòng)服務(wù)端偵聽(tīng) JButton stopServer;//關(guān)閉服務(wù)端偵聽(tīng) JButton exitButton;//退出按鈕 //框架的大小 Dimension faceSize = new

9、Dimension(400, 600); ServerListen listenThread; JPanel downPanel ; GridBagLayout girdBag; GridBagConstraints girdBagCon; /** * 服務(wù)端構(gòu)造函數(shù) */ public ChatServer(){ init();//初始化程序 //添加框架的關(guān)閉事件處理 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.pack(); //

10、設(shè)置框架的大小 this.setSize(faceSize); //設(shè)置運(yùn)行時(shí)窗口的位置 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation( (int) (screenSize.width - faceSize.getWidth()) / 2, (int) (screenSize.height - faceSize.getHeight()) / 2); this.setResizable(false); this.s

11、etTitle("聊天室服務(wù)端"); //設(shè)置標(biāo)題 //程序圖標(biāo) icon = getImage("icon.gif"); this.setIconImage(icon); //設(shè)置程序圖標(biāo) this.setVisible(true); /** * 程序初始化函數(shù) */ public void init(){ Container contentPane = getContentPane(); contentPane.setLayout(new BorderLayout()); //添加菜單欄 serviceMenu

12、.add (portItem); serviceMenu.add (startItem); serviceMenu.add (stopItem); serviceMenu.add (exitItem); jMenuBar.add (serviceMenu); helpMenu.add (helpItem); jMenuBar.add (helpMenu); setJMenuBar (jMenuBar); //初始化按鈕 portSet = new JButton("端口設(shè)置"); startServer = new JButt

13、on("啟動(dòng)服務(wù)"); stopServer = new JButton("停止服務(wù)" ); exitButton = new JButton("退出" ); //將按鈕添加到工具欄 toolBar.add(portSet); toolBar.addSeparator();//添加分隔欄 toolBar.add(startServer); toolBar.add(stopServer); toolBar.addSeparator();//添加分隔欄 toolBar.add(exitButton); contentPane.add(to

14、olBar,BorderLayout.NORTH); //初始時(shí),令停止服務(wù)按鈕不可用 stopServer.setEnabled(false); stopItem .setEnabled(false); //為菜單欄添加事件監(jiān)聽(tīng) portItem.addActionListener(this); startItem.addActionListener(this); stopItem.addActionListener(this); exitItem.addActionListener(this); helpItem.addActi

15、onListener(this); //添加按鈕的事件偵聽(tīng) portSet.addActionListener(this); startServer.addActionListener(this); stopServer.addActionListener(this); exitButton.addActionListener(this); combobox = new JComboBox(); combobox.insertItemAt("所有人",0); combobox.setSelectedIndex(0);

16、 messageShow = new JTextArea(); messageShow.setEditable(false); //添加滾動(dòng)條 messageScrollPane = new JScrollPane(messageShow, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); messageScrollPane.setPreferredSize(new Dimension(400,400)); messageSc

17、rollPane.revalidate(); showStatus = new JTextField(35); showStatus.setEditable(false); sysMessage = new JTextField(24); sysMessage.setEnabled(false); sysMessageButton = new JButton(); sysMessageButton.setText("發(fā)送"); //添加系統(tǒng)消息的事件偵聽(tīng) sysMessage.addActionListener(this);

18、 sysMessageButton.addActionListener(this); sendToLabel = new JLabel("發(fā)送至:"); messageLabel = new JLabel("發(fā)送消息:"); downPanel = new JPanel(); girdBag = new GridBagLayout(); downPanel.setLayout(girdBag); girdBagCon = new GridBagConstraints(); girdBagCon.gridx = 0; girdBagCo

19、n.gridy = 0; girdBagCon.gridwidth = 3; girdBagCon.gridheight = 2; girdBagCon.ipadx = 5; girdBagCon.ipady = 5; JLabel none = new JLabel(" "); girdBag.setConstraints(none,girdBagCon); downPanel.add(none); girdBagCon = new GridBagConstraints(); girdBagCon.gridx = 0; g

20、irdBagCon.gridy = 2; girdBagCon.insets = new Insets(1,0,0,0); girdBagCon.ipadx = 5; girdBagCon.ipady = 5; girdBag.setConstraints(sendToLabel,girdBagCon); downPanel.add(sendToLabel); girdBagCon = new GridBagConstraints(); girdBagCon.gridx =1; girdBagCon.gridy = 2; girdBag

21、Con.anchor = GridBagConstraints.LINE_START; girdBag.setConstraints(combobox,girdBagCon); downPanel.add(combobox); girdBagCon = new GridBagConstraints(); girdBagCon.gridx = 0; girdBagCon.gridy = 3; girdBag.setConstraints(messageLabel,girdBagCon); downPanel.add(messageLabel);

22、 girdBagCon = new GridBagConstraints(); girdBagCon.gridx = 1; girdBagCon.gridy = 3; girdBag.setConstraints(sysMessage,girdBagCon); downPanel.add(sysMessage); girdBagCon = new GridBagConstraints(); girdBagCon.gridx = 2; girdBagCon.gridy = 3; girdBag.setConstraints(sysMessa

23、geButton,girdBagCon); downPanel.add(sysMessageButton); girdBagCon = new GridBagConstraints(); girdBagCon.gridx = 0; girdBagCon.gridy = 4; girdBagCon.gridwidth = 3; girdBag.setConstraints(showStatus,girdBagCon); downPanel.add(showStatus); contentPane.add(messageScrollPane,

24、BorderLayout.CENTER); contentPane.add(downPanel,BorderLayout.SOUTH); //關(guān)閉程序時(shí)的操作 this.addWindowListener( new WindowAdapter(){ public void windowClosing(WindowEvent e){ stopService(); System.exit(0); } } ); } /** * 事件處理 */ public void actionP

25、erformed(ActionEvent e) { Object obj = e.getSource(); if (obj == startServer || obj == startItem) { //啟動(dòng)服務(wù)端 startService(); } else if (obj == stopServer || obj == stopItem) { //停止服務(wù)端 int j=JOptionPane.showConfirmDialog( this,"真的停止服務(wù)嗎?","停止服務(wù)", JOptionPane.YES_OPTION,JOp

26、tionPane.QUESTION_MESSAGE); if (j == JOptionPane.YES_OPTION){ stopService(); } } else if (obj == portSet || obj == portItem) { //端口設(shè)置 //調(diào)出端口設(shè)置的對(duì)話框 PortConf portConf = new PortConf(this); portConf.setVisible(true); } else if (obj == exitButton || obj == exitI

27、tem) { //退出程序 int j=JOptionPane.showConfirmDialog( this,"真的要退出嗎?","退出", JOptionPane.YES_OPTION,JOptionPane.QUESTION_MESSAGE); if (j == JOptionPane.YES_OPTION){ stopService(); System.exit(0); } } else if (obj == helpItem) { //菜單欄中的幫助 //調(diào)出幫助對(duì)話框 Help h

28、elpDialog = new Help(this); helpDialog.setVisible(true); } else if (obj == sysMessage || obj == sysMessageButton) { //發(fā)送系統(tǒng)消息 sendSystemMessage(); } } /** * 啟動(dòng)服務(wù)端 */ public void startService(){ try{ serverSocket = new ServerSocket(port,10); messageShow.appen

29、d("服務(wù)端已經(jīng)啟動(dòng),在"+port+"端口偵聽(tīng)...\n"); startServer.setEnabled(false); startItem.setEnabled(false); portSet.setEnabled(false); portItem.setEnabled(false); stopServer .setEnabled(true); stopItem .setEnabled(true); sysMessage.setEnabled(true); } catch (Exception e){

30、 //System.out.println(e); } userLinkList = new UserLinkList(); listenThread = new ServerListen(serverSocket,combobox, messageShow,showStatus,userLinkList); listenThread.start(); } /** * 關(guān)閉服務(wù)端 */ public void stopService(){ try{ //向所有人發(fā)送服務(wù)器關(guān)閉的消息 sendStopToAll();

31、 listenThread.isStop = true; serverSocket.close(); int count = userLinkList.getCount(); int i =0; while( i < count){ Node node = userLinkList.findUser(i); node.input .close(); node.output.close(); node.socket.close(); i ++; } stopServer .setEnable

32、d(false); stopItem .setEnabled(false); startServer.setEnabled(true); startItem.setEnabled(true); portSet.setEnabled(true); portItem.setEnabled(true); sysMessage.setEnabled(false); messageShow.append("服務(wù)端已經(jīng)關(guān)閉\n"); combobox.removeAllItems(); combobox.addItem("所有

33、人"); } catch(Exception e){ //System.out.println(e); } } /** * 向所有人發(fā)送服務(wù)器關(guān)閉的消息 */ public void sendStopToAll(){ int count = userLinkList.getCount(); int i = 0; while(i < count){ Node node = userLinkList.findUser(i); if(node == null) { i ++; con

34、tinue; } try{ node.output.writeObject("服務(wù)關(guān)閉"); node.output.flush(); } catch (Exception e){ //System.out.println("$$$"+e); } i++; } } /** * 向所有人發(fā)送消息 */ public void sendMsgToAll(String msg){ int count = userLinkList.getCount();//用戶(hù)總

35、數(shù) int i = 0; while(i < count){ Node node = userLinkList.findUser(i); if(node == null) { i ++; continue; } try{ node.output.writeObject("系統(tǒng)信息"); node.output.flush(); node.output.writeObject(msg); node.output.flush(); } catch (Except

36、ion e){ //System.out.println("@@@"+e); } i++; } sysMessage.setText(""); } /** * 向客戶(hù)端用戶(hù)發(fā)送消息 */ public void sendSystemMessage(){ String toSomebody = combobox.getSelectedItem().toString(); String message = sysMessage.getText() + "\n"; messageShow.app

37、end(message); //向所有人發(fā)送消息 if(toSomebody.equalsIgnoreCase("所有人")){ sendMsgToAll(message); } else{ //向某個(gè)用戶(hù)發(fā)送消息 Node node = userLinkList.findUser(toSomebody); try{ node.output.writeObject("系統(tǒng)信息"); node.output.flush(); node.output.writeObject(message);

38、 node.output.flush(); } catch(Exception e){ //System.out.println("!!!"+e); } sysMessage.setText("");//將發(fā)送消息欄的消息清空 } } /** * 通過(guò)給定的文件名獲得圖像 */ Image getImage(String filename) { URLClassLoader urlLoader = (URLClassLoader)this.getClass(). getClassLoader();

39、 URL url = null; Image image = null; url = urlLoader.findResource(filename); image = Toolkit.getDefaultToolkit().getImage(url); MediaTracker mediatracker = new MediaTracker(this); try { mediatracker.addImage(image, 0); mediatracker.waitForID(0); } catch (InterruptedEx

40、ception _ex) { image = null; } if (mediatracker.isErrorID(0)) { image = null; } return image; } public static void main(String[] args) { ChatServer app = new ChatServer(); } } 五. 測(cè)試分析 服務(wù)端聊天系統(tǒng)初始化界面如圖(1)所示。 圖(1) 服務(wù)端聊天系統(tǒng)端口設(shè)置界面如圖(2)所示。 圖(2)

41、服務(wù)端聊天系統(tǒng)啟動(dòng)服務(wù)界面如圖(3)所示。 圖(3) 服務(wù)端聊天系統(tǒng)發(fā)送消息結(jié)果如圖(4)所示。 圖(4) 服務(wù)端聊天系統(tǒng)停止服務(wù)界面如圖(5)(6)所示。 圖(5) 圖(6) 服務(wù)端聊天系統(tǒng)退出界面如圖(7)所示。 圖(7) 六. 課程設(shè)計(jì)總結(jié) 通過(guò)這學(xué)期學(xué)習(xí)JAVA語(yǔ)言,我學(xué)到很多知識(shí),當(dāng)然在這期間遇到的困難也數(shù)不勝數(shù)。我想做些復(fù)雜的程序,但實(shí)在是能力有限,最后終于決定做服務(wù)端聊天系統(tǒng)。. 這個(gè)服務(wù)端聊天系統(tǒng)雖然理論上來(lái)講應(yīng)該很簡(jiǎn)單,但當(dāng)我真正著手的時(shí)

42、候才發(fā)現(xiàn),原來(lái)自己會(huì)的知識(shí)太少了。剛剛開(kāi)始什么我什么都不太懂,于是我參閱了大量的資料,也不停的向同學(xué)們請(qǐng)教,終于漸漸的讓我從剛開(kāi)始連如何運(yùn)行程序,甚至類(lèi)的作用等一些最基本的東西都不清楚到最后通過(guò)努力終于把程序成功的做出來(lái)。 經(jīng)過(guò)編寫(xiě)這個(gè)服務(wù)端聊天系統(tǒng),我認(rèn)識(shí)到無(wú)論什么事情都應(yīng)該注意細(xì)節(jié),雖然是很小的問(wèn)題,但可以提高自己編程的能力,而且還可以培養(yǎng)自己的嚴(yán)謹(jǐn)性,同時(shí)還可以為以后的工作積累經(jīng)驗(yàn)。除此之外讓我對(duì)JAVA編程語(yǔ)言又有了更深一步的了解??傊ㄟ^(guò)這次課程設(shè)計(jì)真的讓我學(xué)到了很多.。ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummtARp

43、3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUXyBmtIVR97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4iWr1TwLFKgLSPzuhRjQ3CmZU98eUOuijdLSZqPmvrw9zKupxf8WFUG9l2G9277g2rTipa1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8l6jEAzVAjnfbtryLvs

44、m6oFbfToXVRFFn7OwIYgJlamkUNXJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA37lNW2VVLRKN7R8psz1BN6oRic5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPkIcSkrgOPDpuHBj1LmPk7lYdvC6NNMwL3fwhZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR77Ib7CpZSu2tijqe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20FbmabcfiixrQKUsVNXB

45、PPFUXyQ1fJSKFSUbkgs2DUVQC9sz4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2HjQKV2DzWtMPDJQkBcXmovdsjqCTJagjMdLsKPgaD2s0H0vmZGAHt36gyUEZ7UmANk1ndREuBeqdgrx0venqGnsyIB2ilq3SIQrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU

46、1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummtARp3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUXyBmtIVR97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4iWr1TwLFKgLSPzuhRjQ3CmZU98eUOuijdLSZqPmvrw9zKupxf8WFUG9l2G9277g2rTipa

47、1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8l6jEAzVAjnfbtryLvsm6oFbfToXVRFFn7OwIYgJlamkUNXJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA37lNW2VVLRKN7R8psz1BN6oRic5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPkIcSkrgOPDpuHBj1LmPk7lYdvC6NNMwL3fwhZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR77I

48、b7CpZSu2tijqe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20FbmabcfiixrQKUsVNXBPPFUXyQ1fJSKFSUbkgs2DUVQC9sz4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2HjQKV2DzWtMPDJQkBcXmovdsjqCTJagjMdLsKPgaD2s0H0vmZGAHt36gyUEZ7UmANk1ndREuBeqdgrx0venqGnsyIB2ilq3SIQrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!