版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、目錄1課題介紹 (11.1課程設(shè)計(jì)目的 (11.2課程設(shè)計(jì)要求 (12總體設(shè)計(jì) (22.1程序的模塊劃分 (22.2程序模塊圖 (22.3程序測試效果圖 (33詳細(xì)設(shè)計(jì) (43.1文件下載模塊的實(shí)現(xiàn) (43.2XML解析模塊的實(shí)現(xiàn) (53.3圖形界面模塊的實(shí)現(xiàn) (64問題與解決 (95課程設(shè)計(jì)心得 (106參考文獻(xiàn) (111課題介紹1.1課程設(shè)計(jì)目的課程設(shè)計(jì)題目:快遞狀態(tài)查詢系統(tǒng)本課程設(shè)計(jì)的目的是可以使用戶在局域網(wǎng)的情況下,進(jìn)行查詢相應(yīng)的快遞信息。通過這個課程要學(xué)會通過java下載網(wǎng)上提供的XML接口文件,并將獲取的XML數(shù)據(jù)解析后以文字或圖片形式顯示到圖形界面上。還需要掌握XML的所對應(yīng)的相
2、應(yīng)形式。1.2課程設(shè)計(jì)要求將在網(wǎng)上下載的XML進(jìn)行數(shù)據(jù)解析后以文字或圖片形式顯示到圖形界面上榜。要求正確顯示用戶所輸入訂單號查詢的信息,且在輸入錯誤時顯示錯誤的信息,使用戶能再次多次重新輸入。2總體設(shè)計(jì)2.1程序的模塊劃分根據(jù)課題要求和程序需求,本快遞狀態(tài)查詢系統(tǒng)總體上劃分為如下四個模塊:圖形界面外模塊(Frame類、圖形界面內(nèi)模塊(MyFrame類,文件下載模塊(Downloader類和XML數(shù)據(jù)解析模塊(XML類。程序的模塊結(jié)構(gòu)如圖2-1所示。(1圖形界面模塊先在圖形界面上設(shè)置標(biāo)簽,文本框,按鈕,文本區(qū),調(diào)用Downloader類下載文件,然后寫入文件”kuaidi.xml”中,調(diào)用XML
3、類解析文件。(2文件下載模塊創(chuàng)建一個URL對象,創(chuàng)建Http鏈接,調(diào)用openConnection方法,使用IO 流輸出數(shù)據(jù),每次讀取一行數(shù)據(jù),將它添加到StringBuffer對象后面,拋去異常,關(guān)閉IO流,將數(shù)據(jù)轉(zhuǎn)為String對象返回出去。(3文件解析模塊創(chuàng)建一個解析器工廠,在其基礎(chǔ)上創(chuàng)建一個解析器,開始解析文件。解析文件中的元素,若標(biāo)簽中的元素和正在解析的標(biāo)簽的名字一樣,輸出標(biāo)簽內(nèi)的內(nèi)容。2.2程序模塊圖 圖2-1程序流程圖2.3程序測試效果圖 2-2程序效果圖3詳細(xì)設(shè)計(jì)3.1文件下載模塊的實(shí)現(xiàn)首先從程序主界面上的文本輸入框中獲取用戶輸入的待查詢訂單號,并將該訂單號作為參數(shù)拼接到課題所
4、規(guī)定的服務(wù)器查詢地址中。比如:若用戶在界面輸入“6215530004”,則拼接得到的查詢地址為然后將該查詢地址傳遞給文件下載模塊,通過該地址即可實(shí)例化一個URL對象,該URL對象打開一個HTTP連接后,通過該HTTP連接的getInputStream(方法將獲取到服務(wù)器對上述查詢地址響應(yīng)的XML接口數(shù)據(jù)字節(jié)流。最后將該字節(jié)流轉(zhuǎn)換為字符流(InputStreamReader,再將字符流轉(zhuǎn)換為帶緩沖區(qū)的字符流(BufferReader,就可以利用BufferReader類提供的readLine(方法按行讀取服務(wù)器返回的XML接口數(shù)據(jù)了。以上過程的具體實(shí)現(xiàn)代碼如下:public class Down
5、loaderprivate URL url=null;public String download(String urlStrStringBuffer sb=new StringBuffer(;/字符緩沖區(qū)String line=null;BufferedReader buffer=null;/字符輸入流tryurl=new URL(urlStr;HttpURLConnection urlConn=(HttpURLConnectionurl.openConnection(;/使用ur1創(chuàng)建HttpsURLConnection。buffer=new BufferedReader(newInput
6、StreamReader(urlConn.getInputStream(,"UTF-8"while(line=buffer.readLine(!=nullsb.append(line;5快遞狀態(tài)查詢系統(tǒng)catch(Exception ee.printStackTrace(;finallytrybuffer.close(;catch(Exception ee.printStackTrace(;return sb.toString(;3.2XML解析模塊的實(shí)現(xiàn)先創(chuàng)建一個SAXParserFactory,然后引用characters類得到標(biāo)簽里面的內(nèi)容。以上過程的具體實(shí)現(xiàn)代碼如下
7、:public class XML extends DefaultHandler/適配器模式public String str="",str1=""public XML(super(;trySAXParserFactory sf=SAXParserFactory.newInstance(;/創(chuàng)建一個SAXParserFactorySAXParser sp=sf.newSAXParser(;sp.parse(new InputSource("kuaidi.xml",this;catch(Exception ee.printStackTr
8、ace(;public void characters(char ch,int start,int length/得到標(biāo)簽里面的內(nèi)容throws SAXExceptionString tag=(Stringtags.peek(;if(tag.equals("message"str1=new String(ch,start,length;str+="快遞存在是否:"+str1+"n"else if(tag.equals("time"str1=new String(ch,start,length;str+="
9、簽收時間:"+str1+"n"else if(tag.equals("context"str1=new String(ch,start,length;str+="簽收情況:"+str1+"n"3.3圖形界面模塊的實(shí)現(xiàn)創(chuàng)建圖形界面后,設(shè)置對應(yīng)的位置,寬度和高度,然后設(shè)置窗口屬性。以上過程的具體實(shí)現(xiàn)代碼如下:public class MyFrame extends JFrame implements ActionListener BorderLayout bl=new BorderLayout(;/邊框布局p
10、rivate JButton but1,but2;/按鈕private JLabel num;/空字符串private JLabel shuoming1,shuoming,shuoming2,shuoming3;private JTextField tname,tnum;/單行文本private JTextArea tinformation;/多行文本XML reader;MyFrame(String ssuper(s;setSize(480,500;/設(shè)置為指定的寬度和高度setLocationRelativeTo(null;/置于屏幕的中央JPanel contentPanel=new J
11、Panel(;JPanel pan=new JPanel(;JPanel pan1=new JPanel(;JPanel pan2=new JPanel(;setContentPane(contentPanel;/設(shè)置窗口屬性contentPanel.setLayout(bl;shuoming2=new JLabel("圓通的快遞一般為10個數(shù)字,以1、2、6、8及v等開頭"tinformation=new JTextArea(20,30;/20行,20列but1=new JButton("確定"but2=new JButton("退出&quo
12、t;num=new JLabel("單號:"tnum=new JTextField(15;tinformation.setLineWrap(true;pan2.add(shuoming2;pan2.add(tinformation;pan.add(num;pan.add(tnum;contentPanel.add(pan,BorderLayout.NORTH;contentPanel.add(pan2,BorderLayout.CENTER;pan1.add(but1;pan1.add(but2;contentPanel.add(pan1,BorderLayout.SOUT
13、H;but1.addActionListener(this;/添加指定的動作偵聽器,以接收發(fā)自此按鈕的動作事件but2.addActionListener(this;/this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE;/使用System exit方法退出應(yīng)用程序setVisible(true;/設(shè)置可見性4問題與解決編寫程序的過程中遇到了很多問題,但是通過與同學(xué)討論和網(wǎng)上查詢都一一解決了,這些問題主要是以下幾種類別:1.XML文件解析錯誤對應(yīng)視頻上的代碼,大致一樣的情況下,還出現(xiàn)了并不能正確得出相應(yīng)的信息的錯誤,所以并不知道錯誤在哪里,之后問
14、了同學(xué)之后,才解決了相應(yīng)的問題。2.圖形界面未能顯示在最后的結(jié)果中,結(jié)果未能在圖形界面上顯示,只能在eclipse的結(jié)果中顯示,當(dāng)時并不知道是為什么,但在查詢相應(yīng)的API之后,才能顯示到圖形界面中。3.在顯示的結(jié)果中未能自動換行在顯示的結(jié)果中只能顯示一行輸出,在詢問同學(xué)后使用了一個類之后實(shí)現(xiàn)了自動換行的功能。10 快遞狀態(tài)查詢系統(tǒng) 5 課程設(shè)計(jì)心得 經(jīng)過這次課程設(shè)計(jì), 我對 Java 又有了一定地深入了解,這次我選的題目 是快遞狀態(tài)查詢系統(tǒng),涉及的編程知識不是太多,主要的就是在文件下載模 塊和 XML 解析的模塊,雖然之前并不懂這兩個模塊,但在仔細(xì)看了發(fā)的幾個 視頻后,基本能了解大致的內(nèi)容,但在很多地方有許多問題,比如并不知道 某幾行代碼的意思,但只要按照視頻所給的樣例代碼一樣寫上去就沒錯,并 且能得出結(jié)果,之后也在百度查詢了相應(yīng)的意思,雖然能知道在文字上的大 概意思,但其實(shí)并不知道真正的意思,只能按照別人寫的方式來進(jìn)行編程。 這樣我并不能具有很強(qiáng)的編程能
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年安全生產(chǎn)年終總結(jié)簡單版(二篇)
- 2024年商場銷售工作計(jì)劃(二篇)
- 2024年大學(xué)學(xué)生會個人工作計(jì)劃范本(五篇)
- 2024年吊籃租賃合同參考樣本(五篇)
- 2024年大學(xué)生社會實(shí)踐總結(jié)(三篇)
- 2024年大學(xué)生畢業(yè)實(shí)習(xí)總結(jié)參考模板(四篇)
- 2024年大客戶經(jīng)理的基本職責(zé)(二篇)
- 2024年3季度國家基本公共衛(wèi)生服務(wù)培訓(xùn)試題
- 2024年危險品貨物運(yùn)輸合同模板(三篇)
- 2024年幼兒園小班家長工作計(jì)劃(二篇)
- 杭州灣跨海大橋通車典禮整體方案5篇范文
- 防雷防靜電專項(xiàng)檢查表
- 高中日語學(xué)習(xí)宣講+課件
- 冷鐓機(jī)常見問題及解決方案
- 青島理工大學(xué)土力學(xué)與地基基礎(chǔ)期末復(fù)習(xí)題及參考答案
- 教科版三年級上冊科學(xué)全冊課件
- 花生綜合性開發(fā)種植示范項(xiàng)目可行性研究報告書
- 國家開放大學(xué)《高等數(shù)學(xué)基礎(chǔ)》形考任務(wù)1-4參考答案
- 六年級勞動與技術(shù)上冊教案
- 心理咨詢與治療學(xué)智慧樹知到答案章節(jié)測試2023年南方醫(yī)科大學(xué)
- 冷療技術(shù) 基礎(chǔ)護(hù)理課件
評論
0/150
提交評論