99精品久久这里只有精品,三上悠亚免费一区二区在线,91精品福利一区二区,爱a久久片,无国产精品白浆免费视,中文字幕欧美一区,爽妇网国产精品,国产一级做a爱免费观看,午夜一级在线,国产精品偷伦视频免费手机播放

    <del id="eyo20"><dfn id="eyo20"></dfn></del>
  • <small id="eyo20"><abbr id="eyo20"></abbr></small>
      <strike id="eyo20"><samp id="eyo20"></samp></strike>
    • 首頁 > 文章中心 > 正文

      高職就業(yè)網(wǎng)站設(shè)計與開發(fā)探析

      前言:本站為你精心整理了高職就業(yè)網(wǎng)站設(shè)計與開發(fā)探析范文,希望能為你的創(chuàng)作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。

      高職就業(yè)網(wǎng)站設(shè)計與開發(fā)探析

      摘要:當(dāng)前,高職學(xué)校的畢業(yè)生的就業(yè)形勢比較嚴(yán)峻,因而保障學(xué)生就業(yè)成為學(xué)校的重要工作。就業(yè)網(wǎng)站是促進(jìn)學(xué)生就業(yè)的一種方式。就業(yè)網(wǎng)站可以為學(xué)生就業(yè)提供一個平臺,能夠拓寬學(xué)生就業(yè)的渠道。本文構(gòu)建了一個幫助學(xué)生就業(yè)的網(wǎng)站。網(wǎng)站的建設(shè)采用前后端分離技術(shù),以express框架構(gòu)成后臺服務(wù)器,以Vue作為前端界面。通過axios實現(xiàn)前后端數(shù)據(jù)的通訊。經(jīng)過一段時間的實際運行,該網(wǎng)站為學(xué)生找工作提供了很大幫助,達(dá)到了預(yù)期的效果。

      關(guān)鍵詞:分離技術(shù);應(yīng)用程序開發(fā)框架;就業(yè)網(wǎng)站

      1引言

      高職學(xué)生就業(yè)主要是通過學(xué)校組織的招聘會、網(wǎng)上投簡歷等方式。這種就業(yè)模式存在一定的局限性,在學(xué)生面試之前,學(xué)生、企業(yè)互不了解。因此,有必要提供一個供需平臺,讓學(xué)生、企業(yè)可以盡早進(jìn)行溝通、了解。通過該網(wǎng)站平臺,企業(yè)能夠招聘到適合的學(xué)生,學(xué)生能夠找到滿意的工作。目前,網(wǎng)站的前后端分離開發(fā)技術(shù)比較流行,前端開發(fā)人員注重網(wǎng)站的布局、美化設(shè)計,后端開發(fā)人員實現(xiàn)網(wǎng)站的各種功能,提供給前端需要的各種類型的接口。這種基于前后端分離的內(nèi)容管理系統(tǒng)為使用人員提供更加便捷的跨平臺的內(nèi)容管理服務(wù)[1],提高網(wǎng)站的開發(fā)效率。Node和vue就是前后端分離的技術(shù)之一,本文使用Node和Vue進(jìn)行項目開發(fā)。

      2數(shù)據(jù)庫的設(shè)計

      網(wǎng)站開發(fā)的第一步,就是數(shù)據(jù)庫的設(shè)計。MySQL作為數(shù)據(jù)存儲和管理的數(shù)據(jù)庫,由于其速度快、體積小,一般中小型網(wǎng)站的后臺數(shù)據(jù)庫開發(fā)都選擇MySQL[2]。網(wǎng)站數(shù)據(jù)庫主要使用數(shù)據(jù)表,視圖、存儲過程等較少使用。因此,數(shù)據(jù)庫的設(shè)計也是數(shù)據(jù)表的設(shè)計。數(shù)據(jù)表的設(shè)計主要包括數(shù)據(jù)表字段的設(shè)置,以及需要哪些字段、字段的數(shù)據(jù)類型。數(shù)據(jù)表字段的設(shè)置一般根據(jù)查詢企業(yè)信息的需求進(jìn)行設(shè)計的,如需要查詢企業(yè)的名稱、企業(yè)的位置、企業(yè)的性質(zhì)、負(fù)責(zé)人、聯(lián)系電話、企業(yè)的介紹、招聘崗位、招聘人數(shù)、招聘要求等??紤]到企業(yè)數(shù)據(jù)多,因此需要對數(shù)據(jù)進(jìn)行分析、分類。如果數(shù)據(jù)沒有重復(fù),則可以考慮將所有數(shù)據(jù)保存到同一張數(shù)據(jù)表里。此外,還可以將企業(yè)信息分成多張數(shù)據(jù)表。例如:將企業(yè)的基本信息做成一張數(shù)據(jù)表,企業(yè)的招聘信息做成一張數(shù)據(jù)表。根據(jù)企業(yè)數(shù)據(jù)的具體情況進(jìn)行分析,設(shè)計幾張數(shù)據(jù)表。如果有多張數(shù)據(jù)表,必須要注意數(shù)據(jù)表之間的關(guān)聯(lián),要能夠根據(jù)一張數(shù)據(jù)表的關(guān)鍵字,找到另一個數(shù)據(jù)表對應(yīng)的記錄。關(guān)聯(lián)的數(shù)據(jù)表最好不要太多,否則給設(shè)計帶來非常大的麻煩。當(dāng)對一張數(shù)據(jù)表的數(shù)據(jù)進(jìn)行更新、刪除的時候,需要考慮關(guān)聯(lián)的數(shù)據(jù)表是否需要更新、刪除。數(shù)據(jù)庫的設(shè)計是基礎(chǔ)、核心,本項目企業(yè)的數(shù)據(jù)表只有一個,所有企業(yè)的信息,都存放在一張數(shù)據(jù)表里面。

      3企業(yè)網(wǎng)站后端的設(shè)計

      Express是一個簡潔而靈活的Node.jsWeb應(yīng)用框架[3]。它通過中間件和路由使應(yīng)用程序的組織和管理更加容易,提供豐富的HTTP工具,讓動態(tài)視圖渲染更加方便[4]。服務(wù)器必須能夠連接數(shù)據(jù)庫,因此,需要加載MySql。前后端分離設(shè)計,涉及瀏覽器的跨域問題,需要加載cors插件。表單的提交,需要加載body-parser。在實際的開發(fā)過程中,根據(jù)需要的功能,加載對應(yīng)的插件。

      3.1Express服務(wù)器的設(shè)計

      使用Expess命令創(chuàng)建服務(wù)器的工作流程[5]:(1)創(chuàng)建Express對象。(2)創(chuàng)建企業(yè)數(shù)據(jù)訪問路由對象,Router對象相當(dāng)于一個中間件容器[6],處理get/post等請求。(3)服務(wù)器對象加載body-parser對象、加載cors對象。(4)將企業(yè)的url訪問地址與路由對象綁定,通過路由訪問對應(yīng)的請求。同時,一定要注意跨域?qū)ο蟮募虞d次序,必須在路由對象綁定的前面,如果次序錯誤,仍然會出現(xiàn)跨域的問題。(5)啟動監(jiān)聽。主要代碼是app.listen(0),在0端口偵聽所有客戶端的連接請求。服務(wù)器啟動以后,主要的操作是在路由里面。在路由模塊中,根據(jù)Node.js的單線程、異步I/O、基于事件驅(qū)動的特點[7],路由對象使用Promise,對MySql數(shù)據(jù)表進(jìn)行各種操作,實現(xiàn)數(shù)據(jù)表的添加、瀏覽、更新、刪除、操作等操作。

      3.2實現(xiàn)一條數(shù)據(jù)的添加

      在添加一條路由函數(shù)里面,使用req對象的body屬性,取出Vue前端axios發(fā)送過來的post數(shù)據(jù)。這里,必須注意前端使用post方式發(fā)送數(shù)據(jù),后端的路由使用req請求對象的body取出。調(diào)用自定義的數(shù)據(jù)庫的對象,實現(xiàn)數(shù)據(jù)的添加操作。如果添加成功,則返回數(shù)值1的json數(shù)據(jù);如果添加錯誤,則返回-1的json數(shù)據(jù)。

      3.3多條數(shù)據(jù)的添加

      取出Vue前端axios發(fā)送過來的post數(shù)據(jù)。這是一個JSON數(shù)組格式的字符串,將它轉(zhuǎn)換為JSON數(shù)組對象,數(shù)組元素是一個company數(shù)據(jù)表對應(yīng)的數(shù)據(jù)??梢允褂胕nsertintocompany(字段1,字段2,…字段n)values(“數(shù)值1”,“數(shù)值2”,…“數(shù)值n”),(“數(shù)值1”,“數(shù)值2”,…“數(shù)值n”),…,(“數(shù)值1”,“數(shù)值2”,…“數(shù)值n”)。使用這種方式,結(jié)合數(shù)組,循環(huán)取出讀取的JSON數(shù)據(jù),將數(shù)據(jù)添加到values對應(yīng)的字段。通過這種方式,可以實現(xiàn)多條數(shù)據(jù)的添加。

      3.4分頁的設(shè)計

      分頁瀏覽主要是首頁、上一頁、下一頁、最后一頁。通過這四個按鈕,實現(xiàn)分頁功能。分頁功能由兩個路由函數(shù)實現(xiàn)。第一個路由函數(shù)使用sql的查詢語句,selectcount(*)fromaskkcompany,通過sql的query函數(shù)調(diào)用,取出數(shù)據(jù)表里面的記錄數(shù)。使用JSON.parse(JSON.stringify(返回值))[0].kk,取出記錄數(shù)。使用res.send方法,將記錄數(shù)返回給前端。第二個路由函數(shù),使用req請求對象,取出前端發(fā)送當(dāng)前頁、每頁記錄數(shù)兩個數(shù)據(jù)。要注意前端是get方法還是post方法。get方法需要使用params參數(shù)的形式發(fā)送數(shù)據(jù)。服務(wù)器的路由函數(shù)使用對應(yīng)的get方法或post方法,取出數(shù)據(jù)。前后端必須使用相同的方法,否則,接收不到數(shù)據(jù)。使用select的limit方法,取得分頁的記錄。查詢語句是select*fromcompanyorderbyidlimitoffset,pageSize。需要根據(jù)分頁數(shù),計算offset記錄偏移量。offset=(當(dāng)前頁數(shù)-1)*pageSize。查詢結(jié)果是從指定的偏移量位置,取出pageSize記錄。這是多條記錄。使用JSON數(shù)組的格式,將數(shù)據(jù)返回給客戶端。這個返回數(shù)據(jù)的接口,必須考慮多種情況。若查詢成功,則返回JSON數(shù)組給客戶端;查詢失敗,則sql語句錯誤,將錯誤信息返回給客戶端。錯誤類型有多種情況,如沒有接收到數(shù)據(jù)、接收的分頁數(shù)不是整數(shù)、sql語句寫錯、offset偏移量為負(fù)值等。需要對各種錯誤進(jìn)行測試,盡量在網(wǎng)站運行前,解決出現(xiàn)的錯誤。

      3.5刪除數(shù)據(jù)的設(shè)計

      普通的刪除操作比較簡單。根據(jù)id序號刪除的,在刪除路由函數(shù)里面,接收前端發(fā)送過來的要刪除的記錄的id,執(zhí)行刪除的sql語句,實現(xiàn)刪除。可以一次刪除多條記錄;也可以根據(jù)除id以外的其它字段進(jìn)行刪除;還可以使用多個字段、組合形式的刪除。如果刪除成功,則返回帶數(shù)值為1的json數(shù)據(jù);如果刪除失敗,則返回數(shù)值為-1的json數(shù)據(jù)。相對來說,根據(jù)id刪除一條記錄或刪除多條記錄,要測試的錯誤少,給前端提供的接口也比較簡單。

      3.6更新的數(shù)據(jù)

      更新數(shù)據(jù)和刪除數(shù)據(jù)相似,都是在分頁的頁面上進(jìn)行操作。使用element-ui插件,能夠快速搭建表格,使用數(shù)據(jù)的綁定,非常方便地顯示服務(wù)器發(fā)送的數(shù)據(jù)。在前端分頁的頁面上,在表格的單元格里添加按鈕。在按鈕的單擊事件里實現(xiàn)路由頁面的跳轉(zhuǎn),跳轉(zhuǎn)到更新vue界面。在更新界面,完成該條記錄的編輯。使用axios的post方式,提交數(shù)據(jù)到服務(wù)器。服務(wù)器端更新路由與添加路由相似,取出提交的數(shù)據(jù),使用updatecompany語句,實現(xiàn)數(shù)據(jù)的更新操作。將更新后的信息返回給前端。同樣,需要將返回數(shù)據(jù)的接口,提供給前端設(shè)計人員。

      4企業(yè)網(wǎng)站前端設(shè)計

      隨著Ajax的出現(xiàn),前后端分離才有實現(xiàn)的基礎(chǔ)[8]。網(wǎng)站的前端使用Vue框架進(jìn)行設(shè)計。其優(yōu)點是輕量級、數(shù)據(jù)綁定、指令和插件[9],例如:Vue通過數(shù)據(jù)的雙向綁定功能,數(shù)據(jù)發(fā)生變化時,視圖發(fā)生變化;視圖發(fā)生變化,對應(yīng)的數(shù)據(jù)也發(fā)生變化。Vue使用插件對Vue框架進(jìn)行擴展,使得網(wǎng)站前端的開發(fā)變得簡單、高效,提升了前端開發(fā)的效率。

      4.1創(chuàng)建Vue項目

      在VSCode編譯器的終端里面,使用npm創(chuàng)建Vue項目。根據(jù)創(chuàng)建項目的提示步驟進(jìn)行安裝。使用npmrunserve啟動項目。項目創(chuàng)建完成后,有默認(rèn)的home.vue、about.vue兩個文件模板。對App.vue進(jìn)行修改,刪除模板中的默認(rèn)內(nèi)容,保留router-view,用于Vue的視圖顯示。Vue開發(fā)的主要內(nèi)容之一是創(chuàng)建Vue文件。新建的Vue文件由template、script、style三部分組成[2]。template是界面,用于頁面的布局;script是js腳本控制;style是界面的樣式。在路由文件里面,設(shè)置創(chuàng)建的vue文件,實現(xiàn)vue文件在瀏覽器上的顯示。因此,Vue開發(fā)的一個核心內(nèi)容,是創(chuàng)建vue文件。在路由文件里面,配置創(chuàng)建的vue文件。項目啟動后,在瀏覽器上,能夠顯示vue文件。

      4.2使用excel插件

      數(shù)據(jù)添加的頁面,使用表單控件中的文本框、按鈕等進(jìn)行數(shù)據(jù)添加。例如用戶注冊界面,就是添加界面,將頁面上的數(shù)據(jù)錄入完成后進(jìn)行提交,才能夠?qū)?shù)據(jù)提交到后臺服務(wù)器。如果使用這種頁面添加企業(yè)數(shù)據(jù)的方式,要一條記錄一條記錄地添加,效率慢,且在錄入的數(shù)據(jù)過程中,若出現(xiàn)錄入錯誤,還需要修改、重新輸入。因此,當(dāng)添加大量數(shù)據(jù)時候,不推薦使用這種頁面錄入的添加方式。Excel是專門進(jìn)行數(shù)據(jù)處理的軟件,方便用戶對數(shù)據(jù)進(jìn)行處理、編輯。首先,準(zhǔn)備好excel數(shù)據(jù),加載excel插件,有多種excel插件可以使用。如安裝xlsx插件,安裝的方式是:npminstallxlsx–save。在vue頁面里面,需要使用file控件。在file控件中添加change事件。在事件對應(yīng)的函數(shù)里,第一步,取出excel文件。第二步,創(chuàng)建FileReader對象。第三步,應(yīng)用FileReader對象ReadAsBinaryString方法,讀取excel文件。第四步,調(diào)用FileReader對象的異步onload方法,重點是onlaod方法的參數(shù)e.target.result,參數(shù)的target對象的result屬性。如果excel文件讀取成功,則result有很多數(shù)據(jù)。如果讀取失敗,則result有少量的數(shù)據(jù)。第五步,引入xlsx對象,使用該對象的read方法,讀取result,轉(zhuǎn)換為excel工作簿對象。第六步,通過工作簿對象的utils.sheet_to_json方法,將工作表里面的數(shù)據(jù),轉(zhuǎn)換為json格式的數(shù)據(jù),將excel數(shù)據(jù)讀取出來。第七步,將json數(shù)據(jù)存放到data的變量中。第八步,調(diào)用axios的post方法,將json數(shù)據(jù)發(fā)送給服務(wù)器。使用xlsx插件對excle文件的數(shù)據(jù)進(jìn)行處理非常方便。需要注意的是,一定要取出file控件的excle文件,讀取文件數(shù)據(jù)成功。在FileReader對象的異步onload方法里,e.target.result參數(shù)要有數(shù)據(jù)。通過xlsx插件的read方法,創(chuàng)建工作簿對象,將工作表的數(shù)據(jù)取出來,轉(zhuǎn)換為json格式的數(shù)據(jù)。Axios是一個基于Promise的HTTP庫、用于瀏覽器和Node.js的HTTP客戶端。Axios的異步Get/Post請求,瀏覽器通過Axios向服務(wù)器的URL地址提交數(shù)據(jù)[],請求方法中,第一個參數(shù)是url,服務(wù)器的處理excel添加對應(yīng)的地址;第二個參數(shù)是json數(shù)據(jù)。在axios的then方法中,有resolve成功的回調(diào)函數(shù),有reject失敗的回調(diào)函數(shù)。根據(jù)resolve回調(diào)函數(shù)的返回值判斷是否成功。如果返回的數(shù)值是1,狀態(tài)碼是,表示數(shù)據(jù)添加成功。如果是其它數(shù)值,需要使用chrome瀏覽器的F12,進(jìn)行調(diào)試,查找錯誤的原因。chrome瀏覽器的F12調(diào)試窗口非常重要,需要熟練掌握network網(wǎng)絡(luò)窗口,查看url地址、參數(shù)是否正確,查看網(wǎng)絡(luò)headers數(shù)據(jù)頭。使用console控制臺,查看輸出的變量,一般通過打印變量來查看變量的數(shù)值,判斷程序運行的流程。使用source,在js代碼窗口里面設(shè)置斷點,使用debug調(diào)試js程序。

      4.3前端的分頁設(shè)計

      前端的分頁設(shè)計使用element-ui,能夠提高開發(fā)效率。在data里面,需要使用tablData變量,接收服務(wù)器傳遞過來的記錄數(shù)據(jù)。記錄數(shù)據(jù)有總記錄數(shù)、當(dāng)前頁數(shù)、總頁數(shù)、每頁記錄數(shù)等變量。第一步,在mounted掛載方法里使用axios,調(diào)用數(shù)據(jù)表總的記錄數(shù)方法,取出總的記錄數(shù)。根據(jù)總的記錄數(shù)、每頁的記錄數(shù),計算出總頁數(shù)。在界面上,通過數(shù)據(jù)綁定,顯示當(dāng)前頁、總頁數(shù)等數(shù)據(jù)。第二步,在mounted掛載方法里使用axios,調(diào)用分頁函數(shù),取出第一頁的數(shù)據(jù),將數(shù)據(jù)保存在tableData數(shù)組,通過數(shù)據(jù)綁定,在表格上顯示記錄。第三步,在頁面上添加首頁、上一頁、下一頁、尾頁四個按鈕。首頁函數(shù)里面,當(dāng)前頁為1,調(diào)用axios,將當(dāng)前頁、每頁記錄數(shù)發(fā)給服務(wù)器。上一頁函數(shù)里面,判斷當(dāng)前頁是否大于1。如果大于1,則當(dāng)前頁-1,將數(shù)據(jù)發(fā)送給服務(wù)器;如果不大于1,則不用發(fā)送axios,當(dāng)前頁為1。在下一頁函數(shù)里,判斷當(dāng)前頁是否小于總頁數(shù)。如果小于總頁數(shù),則當(dāng)前頁+1,將數(shù)據(jù)發(fā)給服務(wù)器;如果不小于總頁數(shù),則不發(fā)送,當(dāng)前頁為總頁數(shù)。尾頁函數(shù)里面,當(dāng)前頁為總頁數(shù),發(fā)送數(shù)據(jù)給服務(wù)器。第四步,通過axios的then的resolve接收服務(wù)器發(fā)送過來的數(shù)據(jù)。必須使用F12的調(diào)試,打印resolve的返回值,返回數(shù)據(jù)的個數(shù)、變量的名稱。將數(shù)據(jù)保存到tableData對象,實現(xiàn)數(shù)據(jù)的顯示。

      4.4前端的刪除設(shè)計

      在分頁界面上,一次刪除一條記錄。在每條記錄后面的單元格里,添加一個刪除按鈕。element-ui的表格提供一個例子,直接使用例子的按鈕事件。@click=fun(scope.row),scope.row參數(shù)就是表格選中的某一行的行號對象,取出row對象里的id數(shù)值,通過axios將id發(fā)送給服務(wù)器。接收服務(wù)器傳遞的數(shù)據(jù),重新發(fā)送分頁數(shù)據(jù),然后顯示刪除后的數(shù)據(jù)。

      4.5前端的更新設(shè)計

      更新的前端設(shè)計頁數(shù)在分頁的頁面上,添加更新按鈕更新數(shù)據(jù),一次更新一條記錄。取出選中行的row參數(shù),通過動態(tài)路由this.$router.push方法,跳轉(zhuǎn)到更新頁面。在更新頁面,完成對數(shù)據(jù)的更新。使用axios提交數(shù)據(jù)給服務(wù)器。提交數(shù)據(jù)的過程和添加的過程相似。接收服務(wù)器傳遞的數(shù)據(jù),將更新后的數(shù)據(jù)顯示在頁面上。

      5結(jié)語

      本文使用Node的express構(gòu)建后臺服務(wù)器,結(jié)合路由、MySql數(shù)據(jù)庫插件、Excel插件等組件,構(gòu)成一個后臺服務(wù)器。使用Vue項目構(gòu)成前端,使用axios實現(xiàn)前后端數(shù)據(jù)的通訊,從而實現(xiàn)高職學(xué)生就業(yè)網(wǎng)站的開發(fā),具有一定的實際應(yīng)用價值。

      作者:朱克武 單位:廣東食品藥品職業(yè)學(xué)院

      久青草国产视频| 99精品久久99久久久久| 国产精品无码久久综合网| 国产超碰人人做人人爱ⅴa| 中文字幕永久免费观看| 日本伦理视频一区二区| 黄片视频免费在线播放观看 | 国产美女在线一区二区三区| 女女同性av一区二区三区免费看| 日本超级老熟女影音播放| 日韩精品视频一区二区三区| 亚洲欧美精品伊人久久| 久天啪天天久久99久孕妇| 日本中文字幕精品久久| 国产免费一区二区三区免费视频 | 亚洲日韩欧洲无码av夜夜摸| 中文字幕一区二区三区四区在线| 手机在线观看成年人视频| 嗯啊 不要 啊啊在线日韩a| 日本一区二区免费看片| 婷婷色香五月综合缴缴情| 国产精品99久久久久久宅男| 国产成人一区二区三区影院免费| 男女动态91白浆视频| 免费a级毛片18禁网站app| 美女黄18以下禁止观看| 国产激情视频免费观看| 精品国产精品久久一区免费式 | 水野优香中文字幕av网站| 国产青草视频在线观看| 欧美xxxx新一区二区三区| 蜜臀人妻精品一区二区免费| 亚洲av综合av一区| 中文字幕久久精品一二三区| 亚洲性啪啪无码AV天堂| 国产av自拍在线观看| 国产欧美日韩va另类在线播放| 越南女子杂交内射bbwbbw| АⅤ天堂中文在线网| 亚洲免费一区二区三区四区| 果冻传媒2021精品一区|