?

基于SSM的編譯原理精品課程網站設計與實現

2023-02-28 23:25施峰張瑾
中國新通信 2023年20期
關鍵詞:MySQL數據庫

施峰 張瑾

摘要:計算機軟件開發已經成為較熱門的行業,許多不同行業的用戶紛紛開始學習計算機編程。計算機專業課程很多,編譯原理已成為一門重要的計算機必修課,得到了越來越多的高校和自學人群的重視。一個好的編譯原理課程網站不僅能提高用戶學習這門課的效率,而且能夠解決在學習中帶來的困惑,也在一定程度上節約時間成本。針對這種情況,設計了一種基于SSM框架的編譯原理精品課程網站。該網站采用SSM框架,后臺使用MySQL數據庫存儲數據,使用了Java編程技術,能夠實現數據的高效傳輸,并且具有較好的用戶體驗。

關鍵詞:精品課程網站;MySQL數據庫;SSM框架;留言管理

一、引言

本文將對在校大學生和自學計算機編程課程的人群對課程網站管理需求進行調查與分析?;谶@項調研的結果,提出了一種基于SSM框架的編譯原理精品課程網站的設計方案。在設計過程中,遵循MVC分層思想的原則,并采用MySql5.0數據庫、Tomcat6.0服務器和Java語言進行開發。通過實現一些基礎功能,基本滿足了精品課程平臺的需求。還通過對精品課程網站中不同版塊的管理,進一步完善了精品網站的建設。此外,還提高了自學人群的學習效率,并為教師與學生的互動交流提供了一個平臺。

二、精品課程網站設計與實現現狀

隨著計算機技術在社會各個領域的廣泛應用,計算機軟件開發已經成為一個相當熱門的行業,許多不同行業的人開始學習計算機編程。計算機專業課程非常豐富,其中編譯原理已經成為一門重要的必修課程,越來越多的高校和自學者開始重視它。學習這門課程對于將來從事計算機編程領域的工作是有幫助的。

編譯原理本質上是一個算法問題,對于很多學生來說,剛開始接觸學習時可能會有一定難度。在校學生在課堂上有老師的輔導,但這遠遠不夠,他們還需要在課后定期查漏補缺。而對于自學者群體來說,大部分都是自力更生,需要查閱書籍和觀看視頻,這段時間可能也會浪費很多時間。為了解決這個問題,基于用戶需求,開發了一個專門用于學習編譯原理課程的網站,供自學者使用。通過使用這個網站,用戶可以進行系統的學習,提高編譯原理的學習效率,解決學習中的困惑,并在一定程度上節約時間成本。

三、精品課程網站核心技術

精品課程網站采用的是B/S模式設計結構,開發環境工具使用的是MyEclipse2020版,后臺采用的是MySQL5.0作為存取數據的數據庫,服務器使用的是Tomcat6.0。底層編程語言是Java。網站系統架構采用三層架構,以MVC分層思想為原則,使用SSM框架進行整合開發。

(一)Java語言

Java是一門面向對象的程序語言,具有簡單性、健壯性、安全性和動態性等特點[1]。Java語言和傳統C++語言有很多相似之處,都是面向對象的語言,不同之處在于二者運行機制。C++使用指針運行機制,而Java使用垃圾收集機制。由于Java具有可移植性的特點,常被廣泛應用于編寫桌面應用程序、Web應用程序和分布式系統應用程序等。正因為這些特點,它深受許多開發者的喜愛。

(二)HTML/CSS

HTML是一種超文本標記語言,主要由和兩種標簽構成,它能夠表明不同類型的元素,如圖片、鏈接等。CSS全稱層疊樣式表,是一種用來控制網頁樣式的計算機語言。

(三)MyEclipse

MyEclipse是基于Eclipse工具進一步演化而來的,它具有獨立的插件,為開發人員提供了高效且可擴展的開發環境。同時,MyEclipse還提供了許多新功能,便于后期的維護和管理。目前,MyEclipse可用于Java、JavaWeb、JavaEE和移動應用程序的開發。開發人員可以使用這個工具進行多種操作,包括編碼、測試、調試和發布等功能。它與框架技術很好地融合,為后續開發提供了許多便利。

(四)MySQL

MySQL是一種廣泛應用于中小型企業的關系型數據庫管理系統[2]。它支持SQL語言,具有綜合統一、高度非過程化和面向集合等特點,可以與不同的編程語言良好地配合使用。本網站選擇MySQL作為數據庫的原因是,它具有較低的使用成本,并且可以與本網站使用的Java語言很好地結合。

(五)Tomcat

Tomcat由Apache、Sun等公司及個人共同開發而成,是一個免費的開放源代碼的Web應用服務器[3]。Tomcat由三大核心組件構成,分別是Web容器、Servlet容器和Jsp容器。每個容器對應完成不同的功能。

四、精品課程網站需求分析

在系統開發過程中,需求分析是整個項目計劃階段最關鍵的環節。需求分析是指對軟件開發的需求進行整理和歸納,準確理解用戶和項目的功能、性能、可靠性等具體要求,將用戶非形式的需求表述轉化為完整的需求定義。在對自學人群進行了調研分析之后,為了滿足大多數用戶的需求進行系統設計,系統應具有幾個重要的模塊,包括系統數據維護、課程信息管理、資料信息管理、用戶信息管理、留言信息管理、課程查詢管理等。其中,基本信息管理模塊主要是管理員對后臺上架的課程信息進行在線編輯和修改;用戶信息管理模塊主要是對注冊用戶賬號和密碼的維護以及系統登錄權限的設定;系統數據維護模塊主要是對數據庫中的數據進行備份和恢復;資料信息管理模塊主要是管理員對上傳的資料進行編輯和修改;留言信息管理模塊可以定期回復用戶留下的問題;查詢管理模塊可以根據用戶的條件進行在線檢索。

五、精品課程網站設計與實現

網站用戶類型分為管理員、注冊用戶和教師,每一種類型對應一種權限[4]。對于沒有注冊的用戶統稱為游客,游客只能在線瀏覽教學資料,不能進行其他操作。注冊用戶后可以使用網站內的課程管理、資料下載、在線檢索和在線留言等功能,以系統地學習編譯原理課程。教師登錄后可以管理自己建設的課程,具體包含課程管理、留言管理、資料管理、留言管理和用戶管理等功能。管理員登錄后只能進行網站層面的管理,包括教師管理、學生管理以及網站配置方面等[4],不包含任何與課程有關的功能。

(一)系統功能設計

本網站分為前臺模塊和后臺模塊[5]。前臺模塊是與用戶直接交互的部分,用戶在前臺頁面中接觸到所有元素,如字體、顏色、圖片、導航和輪播圖等,都是通過HTML頁面來實現的。后臺模塊是整個網站管理的重要入口,主要功能是對前臺內容進行管理以及一些功能的管理。前臺模塊側重于用戶的使用,需要考慮良好的用戶體驗度,而后臺功能則側重于功能的實現,需要考慮代碼的精簡性。

1.前臺模塊功能

用戶管理模塊:游客可以通過網站首頁在線注冊、使用個人的賬號密碼登錄,并修改個人信息[5]。

精品課程模塊:用戶登錄成功后,可以在這里學習編譯原理這門課的知識點。目前網站內容主要以文本和圖片的形式進行展示,用戶可以點擊標題自行查看所學內容。

資料下載模塊:此頁面的內容只針對注冊會員開放。未注冊的用戶目前沒有下載資料的權限,只能在線瀏覽教學資料,不能進行其他操作。注冊會員可以根據條件選擇所需資料進行下載和查看。

問題留言模塊:注冊用戶在使用網站學習過程中,可以將需要答疑的問題上傳至該留言模塊,以便后期課程教師能夠第一時間看到問題并回復。

查詢信息模塊:注冊用戶可以按照條件篩選課程,然后進行在線檢索,查詢所需的課程學習資料。

2. 后臺模塊功能

管理員維護模塊:管理員可以對注冊用戶和教師的信息進行修改、創建和刪除賬號等。

教師維護模塊:教師成功登錄后,可以修改個人信息。

課程管理模塊:教師可以在后臺上傳有關編譯原理的課程,也可以對系統發布的舊課程進行下架或重新編輯上傳。

留言管理模塊:教師可以查看、回復和刪除用戶在留言板上的留言內容。

資料信息管理:該模塊的功能類似于課程管理功能,教師可以上傳和更新關于編譯原理的學習資料供用戶查看和下載。

3.網站功能實現

網站前臺功能實現包含用戶管理功能實現和用戶課程管理功能實現。

1.用戶管理功能實現

用戶初次登錄網站需要注冊一個新賬號。在登錄界面中,用戶輸入賬號和密碼后,點擊登錄按鈕,系統將調用方法層中的Login()方法,獲取網頁表單中輸入的值,然后將該值傳入到Select方法中進行用戶查找。并且再返回User對象,判斷User對象的值是否為NULL,如果不為NULL則表示有這個數據,用戶登錄成功;反之登錄失敗,用戶需要進行在線注冊。用戶點擊“注冊”按鈕,填寫網頁上的字段信息,再點擊提交按鈕。系統將調用方法層中的AddUser()方法,獲取網頁表單中的值,創建一個新對象,并根據用戶名查找數據庫中是否已存在該用戶。如果存在,則顯示注冊失??;反之則注冊成功,并調用Add()方法將數據插入到數據庫中。

2.用戶課程管理功能實現

用戶課程模塊中主要由Index函數、New函數、Update函數、Edit函數、BatchDelete函數進行調用與處理操作。Index函數可以實現顯示課程列表數目;new函數是實現增加課程的函數,方法中model屬性對象由Model.AddAttribute()方法實現,里面傳tcourse參數,就會相應返回course文件下的edit jsp頁面;Edit函數可以實現在線修改,Update可以實現更新操作[6],先判斷課程的id是否存在,如果存在,就記錄需要修改的id號,數目進行加一的操作,最后將調用Session的SaveOrUpdate方法,會對數據庫中數據進行操作;BatchDelete函數可以實現對課程進行批量刪除,函數中用到了集合,使用集合存儲判斷的結果。

3.資料信息管理功能實現

通過創建Downloadaction類,對FileName()的方法設置了私有的方法,GetFilename()方法中會返回filename這個類型,它指的是文件下載名定義的變量。在InputStream方法中定義一個路徑參數,把url傳過來的中文參數進行編碼,之后再把編碼過的賦值到這個NewFileName對象中,在之前的需提前配置sturts.xml文件。Action類中GetInputStream()方法需提前進行拋出異常的操作。InputStream表示的是文件下載的來源流,它對應著Action中inputStream的屬性名,route保存的是已經編碼過的路徑,會把這個值返回來。Param對象標簽有inputname、contentdisposition和buffersize分別代表的是來源流,文件下載的方式包括內聯和附件的方式,當用戶開始進行下載的時候,默認會優先選擇以附件的方式彈出對話框,進行下載,否則會把加載的內容直接顯示在頁面上,默認的方式是內聯的方式,buffersize代表的是下載文件緩沖區,是文件臨時存放的地方。

4.留言信息管理功能實現

該功能通過調用DoGet方法,獲得相應的編碼,title內容和message內容,然后通過request中的session中取出當前用戶對象,建立留言表對應JavaBean對象,把數據封裝進去。其次,在調用帶參數方法AddInfo()傳入數據,括號中的所有參數都是留言信息表contact中要保存的字段變量。通過已經寫好的對象方法連接數據庫的Dao類,在不拋出異常的情況下,找到數據庫中的留言信息表contact,通過SQL語句insert into把在頁面表單中輸入的數據插入到留言信息表contact中,或者update語句更新留言信息表中已存在的數據。

當用戶如果是第一次訪問該Servlet,用戶對象為空,如果登錄成功,將獲取的對象保存在Session中 ,通過FindMbInfo()獲取留言板的內容,返回一個數組,最后將數組的內容保存起來,通過Url直接跳轉到success.jsp頁面上,反之跳轉到error.jsp頁面上。

5.查詢信息管理功能實現

該功能主要通過strsql變量在數據庫中查詢的地址實現。先從課程表中定義多個course_id、course_name、type等字段,然后根據條件進行檢索,對此代碼拋出異常,在查詢數據時需用分頁控件PageModel分頁多條記錄。同時,為了減少頁面的跳轉執行效率,采用Ajax異步刷新來實現分頁查詢。

(二)網站數據庫設計

通過對整個精品課程網站進行需求分析和功能設計,確定了網站需要哪些實體,再對網站的屬性進行分析,最后得出了網站需要幾個數據庫表。以下為精品課程網站所需的四種數據庫表的結構。

用戶信息表:賬號、姓名、手機號碼、聯系地址、角色id、是否可用、角色名稱、創建時間、密碼、是否管理員。

留言信息表:留言ID、用戶、郵箱、手機號碼、內容、發送時間、反饋時間、反饋內容、用戶ID。

課程信息表:課程名稱、創建時間、課程簡介、類型、圖片地址。

教師信息表:編號、教師用戶名、教師密碼、創建時間、備注、權限。

(三) 網站數據庫連接

經過網站需求分析、整體功能實現、代碼實現功能到數據庫的初步設計,接下來就是網站設計中最關鍵的一步如何使用java語言與數據庫進行整體的連接,使用戶和管理員在操作過程中得到數據能夠持久化的保存,具體連接步驟如下:

①導入JDBC類;

②裝載/注冊驅動程序;

③連接數據庫;

④創建語句對象;

⑤執行SQL語句;

⑥處理結果;

⑦關閉連接。

六、結束語

本文通過調查與分析在校大學生和自學計算機編程課程的人群對課程網站的管理需求。設計了一種基于SSM框架的編譯原理精品課程網站,以MVC分層思想為原則。采用了MySql5.0數據庫、Tomcat6.0服務器和Java語言設計開發,基本實現了精品課程平臺應具備的一些基礎功能。通過對精品課程網站中不同板塊的管理,進一步完善了精品網站建設,同時也提高了自學人群的學習效率,為教師與學生的互動交流提供了平臺。

作者單位:施峰 張瑾 江蘇開放大學

參? 考? 文? 獻

[1]周子淳.基于Java的校內社交網站設計與實現[J].電腦知識與技術,2020,16(36):89-91+94.

[2]張超,王亮,翟乃強.校園網網站LAMP配置及移植[J].青島遠洋船員職業學院學報,2012,33(02):64-67.

[3]李穎. 基于J2ME平臺的移動應用系統的研究與實現[D].南昌大學,2007.

[4]竇立君,張金鳳,吳堯.基于JSP的精品課程網站設計與實現[J].電腦知識與技術,2016,12(28):33-35.

[5]王雪,李宛盈.校園二手物品交易網站的設計與實現[J].科學技術創新,2021(26):102-103.

[6]陳露露. 融資租賃業務管理系統的設計與實現[D].曲阜師范大學,2020.

猜你喜歡
MySQL數據庫
基于Android開發的APP服務器端設計
基于PHP&MySQL的高校招生管理信息系統設計與實現
《軟件體系結構》課程網站設計與實現
虛擬化平臺下MySQL數據庫集群的搭建
智能公交查詢系統的設計與實現
基于android的臉部識別校園服務APP的研究與開發
SSH框架與MiniUI框架融合技術在的醫療信息系統中的應用
Linux負載度量
充電樁狀態實時監控系統與C/S框架設計
改進的SSH框架技術在醫藥管理系統中的研究及應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合