數據庫原理與應用 課件 第8章 綜合案例:招聘信息管理系統_第1頁
數據庫原理與應用 課件 第8章 綜合案例:招聘信息管理系統_第2頁
數據庫原理與應用 課件 第8章 綜合案例:招聘信息管理系統_第3頁
數據庫原理與應用 課件 第8章 綜合案例:招聘信息管理系統_第4頁
數據庫原理與應用 課件 第8章 綜合案例:招聘信息管理系統_第5頁
已閱讀5頁,還剩74頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第8章綜合案例:招聘信息管理系統主要內容8.1ServletMVC模式8.2JavaWeb開發環境構建8.3使用Eclipse開發Web應用8.4系統設計8.5數據庫設計8.6系統管理8.7組件設計主要內容8.8企業用戶管理8.9招聘信息管理8.10管理員解鎖用戶8.11安全退出8.12求職者相關8.13本章小結8.1ServletMVC模式

第8章綜合案例:招聘信息管理系統8.1ServletMVC模式1.MVC的概念MVC是Model、View、Controller的縮寫,分別代表Web應用程序中的三種職責:模型——用于存儲數據以及處理用戶請求的業務邏輯。視圖——向控制器提交數據,顯示模型中的數據。控制器——根據視圖提出的請求,判斷將請求和數據交給哪個模型處理,處理后的有關結果交給哪個視圖更新顯示。58.1ServletMVC模式2.基于Servlet的MVC模式基于Servlet的MVC模式的具體實現如下:模型:一個或多個JavaBean對象,用于存儲數據(實體模型,由JavaBean類創建)和處理業務邏輯(業務模型,由一般的Java類創建)。視圖:一個或多個JSP頁面,向控制器提交數據和為模型提供數據顯示,JSP頁面主要使用HTML標記和JavaBean標記來顯示數據。控制器:一個或多個Servlet對象,根據視圖提交的請求進行控制,即將請求轉發給處理業務邏輯的JavaBean,并將處理結果存放到實體模型JavaBean中,輸出給視圖顯示。68.1ServletMVC模式基于Servlet的MVC模式的流程如圖8.1所示。78.2JavaWeb開發環境構建

第8章綜合案例:招聘信息管理系統8.2JavaWeb開發環境構建8.2.1開發工具1.Java開發工具包(JDK)JSP引擎需要Java語言的核心庫和相應編譯器,在安裝JSP引擎之前,需要安裝Java標準版(JavaSE)提供的開發工具包JDK。登錄/java/technologies/javase/javase-jdk8-downloads.html選擇JavaSE提供的JDK。根據操作系統的位數,下載相應的JDK,本書采用的JDK是jdk-8u271-windows-x64.exe。98.2JavaWeb開發環境構建8.2.1開發工具2.JSP引擎運行包含JSP頁面的Web項目還需要一個支持JSP的Web服務軟件,該軟件也稱作JSP引擎或JSP容器,通常將安裝了JSP引擎的計算機稱為一個支持JSP的Web服務器。目前,比較常用的JSP引擎包括Tomcat,JRun,Resin,WebSphere,WebLogic等,本書采用的是Tomcat9.0。登錄Apache軟件基金會的官方網站http://jakarta.A/tomcat,下載Tomcat9.0的免安裝版(本書采用apache-tomcat-9.0.2-windows-x64.zip)。登錄網站后,首先在Download里選擇Tomcat9.0,然后在BinaryDistributions的Core中選擇zip即可。108.2JavaWeb開發環境構建8.2.1開發工具3.Eclipse為了提高開發效率,通常需要安裝IDE(集成開發環境)工具,在本書中使用的IDE工具是Eclipse。Eclipse是一個可用于開發JSP程序的IDE工具。登錄/downloads/packages/release/oxygen/2/eclipse-ide-java-ee-developers,根據操作系統的位數,下載相應的Eclipse。本書采用的是“eclipse-jee-oxygen-2-win32-x86_64.zip”。118.2JavaWeb開發環境構建8.2.2工具集成1.JDK的安裝與配置(1)安裝JDK雙擊下載后的jdk-8u152-windows-x64.exe文件圖標出現安裝向導界面,選擇接受軟件安裝協議。建議采用默認的安裝路徑C:\ProgramFiles\Java\jdk1.8.0_152。需要注意的是,在安裝JDK的過程中,JDK還額外提供一個Java運行環境JRE(JavaRuntimeEnvironment),并提示是否修改JRE默認的安裝路徑C:\ProgramFiles\Java\jre1.8.0_152,建議采用該默認的安裝路徑。128.2JavaWeb開發環境構建(2)配置系統環境變量安裝JDK后需要配置“環境變量”的“系統變量”Java_Home和Path。在Win10系統下,系統變量示例如圖8.2和8.3所示。13148.2JavaWeb開發環境構建2.Tomcat的安裝與啟動安裝Tomcat之前需要事先安裝JDK并配置系統環境變量Java_Home。將下載的apache-tomcat-9.0.2-windows-x64.zip解壓到某個目錄下,比如解壓到E:\Javasoft,解壓縮后將出現如圖8.4所示的目錄結構。15168.2JavaWeb開發環境構建執行Tomcat根目錄下bin文件夾中的startup.bat來啟動Tomcat服務器。執行startup.bat啟動Tomcat服務器會占用一個MS-DOS窗口,如果關閉當前MS-DOS窗口將關閉Tomcat服務器。Tomcat服務器啟動后,在瀏覽器的地址欄中鍵入:http://localhost:8080,將出現如圖8.5所示的Tomcat測試頁面。178.2JavaWeb開發環境構建3.安裝EclipseEclipse下載完成后,解壓到自己設置的路徑下,即可完成安裝。Eclipse安裝后,雙擊Eclipse安裝目錄下的eclipse.exe文件,啟動Eclipse。4.集成Tomcat啟動Eclipse,選擇【Window】/【Preferences】菜單項,在彈出的對話框中選擇【Server】/【RuntimeEnvironments】命令。在彈出的窗口中,單擊【Add】按鈕,彈出如圖8.6所示的【NewServerRuntimeEnvironment】界面,在此可以配置各種版本的Web服務器。18198.2JavaWeb開發環境構建在圖8.6中選擇【ApacheTomcatv9.0】服務器版本,單擊【Next】按鈕,進入如圖8.7所示界面。在圖8.7中單擊【Browse…】按鈕,選擇Tomcat的安裝目錄,單擊【Finish】即可完成Tomcat配置。至此,可以使用Eclipse創建DynamicWebproject,并在Tomcat下運行。208.3使用Eclipse開發Web應用

第8章綜合案例:招聘信息管理系統8.3使用Eclipse開發Web應用8.3.1JSP運行原理1.JSP文件一個JSP文件中可以有普通的HTML標記、JSP規定的標記以及Java程序。JSP文件的擴展名是.jsp,文件名字必須符合標識符規定,即名字可以由字母、下劃線、美元符號和數字組成。2.JSP運行原理當Web服務器上的一個JSP頁面第一次被客戶端請求執行時,Web服務器上的JSP引擎首先將JSP文件轉譯成一個Java文件,并將Java文件編譯成字節碼文件,字節碼文件在服務器端創建一個Servlet對象,然后執行該Servlet對象,同時發送一個HTML頁面到客戶端響應客戶端的請求。當這個JSP頁面再次被請求時,JSP引擎為每個客戶端啟動一個線程并直接執行對應的Servlet對象響應客戶端的請求,這也是JSP響應速度比較快的原因之一。228.3使用Eclipse開發Web應用JSP引擎如下方式處理JSP頁面:(1)將JSP頁面中靜態元素(HTML標記)直接交給客戶端瀏覽器執行顯示。(2)對JSP頁面中動態元素(Java程序和JSP標記)進行必要的處理,將需要顯示的結果發送給客戶端瀏覽器。238.3使用Eclipse開發Web應用8.3.2一個簡單的Web應用使用Eclipse開發一個Web應用需要如下三個步驟:創建項目創建JSP文件發布項目到Tomcat并運行248.3使用Eclipse開發Web應用1.創建項目(1)啟動Eclipse,進入Eclipse開發界面。(2)選擇主菜單中的“File”/“New”/“Project”菜單項,打開“NewProject”對話框,在該對話框中選擇Web節點下的“DynamicWebProject”子節點,如圖8.8所示。25268.3使用Eclipse開發Web應用(3)單擊“Next”按鈕,打開“NewDynamicWebProject”對話框,在該對話框的“ProjectName”文本框中輸入項目名稱,這里為firstProject。選擇Targetruntime區域中的服務器,如圖8.9所示。278.3使用Eclipse開發Web應用(4)單擊“Finish”按鈕,完成項目firstProject的創建。此時在Eclipse平臺左側的“ProjectExplorer”中,將顯示項目firstProject,依次展開各節點,可顯示如圖8.10所示的目錄結構。288.3使用Eclipse開發Web應用2.創建JSP文件firstProject項目創建完成后,可以根據實際需要創建類文件、JSP文件或者其他文件。這些文件的創建會在需要時介紹,下面將創建一個名字為myFirst.jsp的JSP文件。(1)選中firstProject項目的WebContent節點,右鍵點擊,在打開的快捷菜單中,選擇“New”/“JSPFile”,打開“NewJSPFile”對話框,在該對話框的“Filename”文本框中輸入文件名myFirst.jsp,其他采用默認設置,單擊“Finish”按鈕完成JSP文件的創建。(2)JSP創建完成后,在firstProject項目的WebContent節點下,自動添加一個名稱為myFirst.jsp的JSP文件,同時,Eclipse會自動將JSP文件在右側的編輯框中打開。298.3使用Eclipse開發Web應用(3)將myFirst.jsp文件中的默認代碼修改如下:<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>Inserttitlehere</title></head><body><divalign="center">我看到了第一個JSP頁面,真高興!</div></body></html>308.3使用Eclipse開發Web應用3.發布項目到Tomcat并運行完成JSP文件的創建后,可以將項目發布到Tomcat并運行該項目。下面介紹具體的方法。(1)在firstProject項目的WebContent節點下,找到myFirst.jsp并選中該JSP文件,右鍵點擊,在打開的快捷菜單中,選擇“RunAs”/“RunonServer”菜單項,打開“RunonServer”對話框,在該對話中,選中“Alwaysusethisserverwhenrunningthisproject”復選框,其他采用默認設置,如圖8.11所示。31328.3使用Eclipse開發Web應用(2)單擊“Finish”按鈕,即可通過Tomcat運行該項目,運行后的效果如圖8.12所示。如果想在瀏覽器中運行該項目,可以將圖8.12中的URL地址復制到瀏覽器的地址欄中,并按下enter鍵運行即可。338.4系統設計

第8章綜合案例:招聘信息管理系統8.4系統設計8.4.1系統功能需求招聘信息管理系統是針對注冊企業用戶使用的系統。系統提供的功能如下:1.非注冊企業用戶可以注冊為注冊用戶。2.成功注冊的用戶,可以登錄系統。3.成功登錄的用戶,可以添加、修改、刪除以及查看自己發布的招聘信息。4.成功登錄的用戶,可以在個人中心查看自己的基本信息和修改密碼。5.管理員可以根據用戶情況,鎖定與解鎖用戶。6.求職者無需注冊,可以瀏覽所有企業用戶發布的招聘信息。358.4系統設計8.4.2系統模塊劃分

企業注冊用戶登錄成功后,進入管理主頁面(main.jsp)可以對招聘信息進行管理。求職者無需注冊即可瀏覽所有招聘信息。系統模塊劃分,如圖8.13所示。管理員登錄成功后,進入用戶管理頁面(adminUser.jsp)可以對用戶進行解鎖和鎖定操作。368.5數據庫設計

第8章綜合案例:招聘信息管理系統8.5數據庫設計系統采用加載純Java數據庫驅動程序的方式連接Oracle19c數據庫。在Oracle19c數據庫中,共創建三張與系統相關的數據表:管理員表(ADMININFO)、用戶表(USERINFO)和招聘信息表(JOBINFO)。8.5.1數據庫概念結構設計根據系統設計與分析,可以設計出如下數據結構:1.用戶包括企業用戶ID、用戶名和密碼,企業用戶ID和用戶名唯一。2.招聘信息包括招聘信息ID、招聘職位、任職要求、薪資待遇、單位名稱、聯系電話、工作地點、企業照片以及所屬企業用戶ID。其中,招聘信息ID唯一,“所屬用戶ID”與“1.企業用戶ID”關聯。388.5數據庫設計根據以上的數據結構,結合數據庫設計的特點,可畫出如圖8.14所示的數據庫概念結構圖。圖8.14用戶與招聘信息的概念結構圖其中,ID為系統時間產生的17位時間字符串。3.管理員包括用戶名和密碼,由數據庫管理員INSERT數據。398.5數據庫設計將數據庫概念結構圖轉換為Oracle數據庫所支持的實際數據模型,即數據庫的邏輯結構。

用戶信息表(USERINFO)的設計,如表8.1所示。408.5數據庫設計招聘信息表(JOBINFO)的設計,如表8.2所示。418.5數據庫設計管理員信息表(ADMININFO)的設計,如表8.3所示。428.6系統管理

第8章綜合案例:招聘信息管理系統8.6系統管理8.6.1導入相關的jar包新建一個JavaWeb應用JobManage,在所有JSP頁面中盡量使用EL表達式和JSTL標簽,需要將ojdbc8.jar(/database/technologies/appdev/jdbc-ucp-19c-downloads.html)、taglibs-standard-impl-1.2.5.jar和taglibs-standard-spec-1.2.5.jar(位于apache-tomcat-9.0.14\webapps\examples\WEB-INF\lib目錄中)復制到JobManage/WebContent/WEB-INF/lib目錄中。448.6系統管理8.6.2管理主頁面注冊用戶在瀏覽器地址欄中輸入http://localhost:8080/JobManage/login.jsp訪問登錄頁面,登錄成功后,進入管理主頁面main.jsp,運行效果如圖8.15所示。458.6系統管理8.6.3組件與Servlet管理

本系統的包層次結構如圖8.16所示。468.6系統管理1.dao包

dao包中存放的Java程序是實現數據庫的操作。其中BaseDao是一個父類,該類負責連接數據庫、關閉連接等功能;AdminDao是BaseDao的一個子類,管理員管理用戶的數據訪問在該類中;JobDao是BaseDao的一個子類,有關注冊用戶管理招聘信息的數據訪問在該類中;UserDao是BaseDao的另一個子類,有關注冊、登錄以及修改密碼等功能的數據訪問在該類中。2.entity包entity包中的類是實現數據封裝的實體bean(實體模型)。3.filter包filter包中有個解決中文亂碼的過濾器。4.servlet包servlet包存放系統實現的所有控制器Servlet。5.util包util包中存放的是系統的工具類,包括:獲取時間字符串以及獲取上傳文件的文件名。478.7組件管理

第8章綜合案例:招聘信息管理系統8.7組件設計本系統的組件包括過濾器、驗證碼、實體模型、數據庫操作(dao)以及工具類。8.7.1過濾器

當用戶提交請求時,在請求處理之前,系統使用過濾器將用戶提交的信息進行解碼與編碼,避免了中文亂碼的出現。 CharacterEncodingFilter.java的核心代碼如下:……publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)throwsIOException,ServletException{ request.setCharacterEncoding("UTF-8"); chain.doFilter(request,response);}……498.7組件設計8.7.2驗證碼本系統驗證碼的使用步驟如下:1.產生驗證碼2.在JSP頁面顯示驗證碼8.7.3實體模型

在控制層(Servlet)使用實體模型封裝JSP頁面提交的信息,然后由控制層將實體模型傳遞給數據層(Dao)。實現實體模型的類中只有get和set方法,代碼非常簡單,不再贅述。508.7組件設計8.7.4數據庫操作本系統有關數據庫操作的Java類位于包dao中,為了方便管理,減少代碼的冗余,所有數據庫的連接、關閉等方法由BaseDao實現。有關管理員的數據訪問由AdminDao(在該Dao中使用PreparedStatement語句發送SQL命令)實現;有關招聘信息管理的數據訪問由JobDao(在該Dao中使用PreparedStatement語句發送SQL命令)實現;有關注冊、登錄、修改密碼等功能的數據訪問由UserDao(在該Dao中使用PreparedStatement語句發送SQL命令)實現。8.7.5工具類本系統使用的工具類MyUtil的代碼見教材。518.8企業用戶管理

第8章綜合案例:招聘信息管理系統8.8企業用戶管理8.8.1用戶注冊

在登錄頁面login.jsp,單擊“注冊”鏈接,打開注冊頁面register.jsp,效果如圖8.17所示。

在圖8.17所示的注冊頁面中,輸入“用戶名”后,系統會根據請求路徑“UserRegisterServlet”和標記位“flag”檢測“用戶名”是否可用。輸入合法的用戶信息后,單擊“注冊”按鈕,實現注冊功能。538.8企業用戶管理8.8.2用戶登錄

打開系統入口頁面login.jsp,效果如圖8.18所示。

注冊后的用戶輸入用戶名和密碼后,系統將對用戶名和密碼提交給UserLoginServlet進行驗證。如果用戶狀態未被鎖定,并且用戶名和密碼同時正確,則成功登錄,將用戶信息保存到session對象,并進入系統管理主頁面(main.jsp);如果用戶狀態被鎖定,或者用戶名與密碼不匹配,則分別提示錯誤消息。548.8企業用戶管理8.8.3修改密碼單擊用戶主頁面中“個人中心”菜單的“修改密碼”菜單項,打開密碼修改頁面updatePWD.jsp。頁面效果如圖8.19所示。558.8企業用戶管理8.8.4基本信息單擊主頁面中“個人中心”菜單的“基本信息”菜單項,打開基本信息頁面userInfo.jsp。頁面效果如圖8.20所示。568.9招聘信息管理

第8章綜合案例:招聘信息管理系統8.9招聘信息管理用戶登錄成功后,進入招聘信息管理系統的主頁面,點擊“招聘信息管理”下拉菜單,可以看到有“添加招聘信息”、“刪除招聘信息”、“修改招聘信息”和“查詢招聘信息”四個菜單項,如圖8.21所示。用戶可分別點擊所需的菜單項,實現其系統功能。588.9招聘信息管理8.9.1添加招聘信息

用戶輸入招聘職位、任職要求、薪資待遇、單位名稱、聯系電話、工作地點、企業照片后,單擊“提交”按鈕實現添加。如果成功,則跳轉到查詢頁面;如果失敗,則回到添加頁面。 addJob.jsp頁面實現添加招聘信息的輸入界面,如圖8.22所示。598.9招聘信息管理8.9.2查詢招聘信息

用戶登錄成功后,進入招聘信息管理系統的主頁面,在系統主頁面中初始顯示該用戶已發布的招聘信息頁面queryJobs.jsp,運行效果如圖8.23所示。608.9招聘信息管理單擊主頁面中“招聘信息管理”菜單的“查詢招聘信息”菜單項,打開查詢頁面queryJobs.jsp。“查詢招聘信息”菜單項超鏈接的目標地址是個Servlet。該Servlet的請求路徑為“QueryJobServlet”,根據請求路徑找到對應的QueryJobServlet進行處理查詢。在該Servlet中,根據動作類型(“修改查詢”、“查詢”以及“刪除查詢”),將查詢結果轉發到不同頁面。618.9招聘信息管理在queryJobs.jsp頁面中單擊“詳情”超鏈接,打開招聘信息詳情頁面detail.jsp。“詳情”超鏈接的目標地址是個Servlet。該Servlet的請求路徑為“SelectAJobServlet?id=${job.id}”。根據請求路徑找到對應的SelectAJobServlet處理查詢一個招聘信息的功能。將查詢結果轉發給信息詳情頁面detail.jsp。招聘信息詳情頁面如圖8.24所示。62638.9招聘信息管理8.9.3修改招聘信息單擊主頁面中“招聘信息管理”菜單的“修改招聘信息”菜單項,打開修改查詢頁面updateSelect.jsp。“修改招聘信息”菜單項超鏈接的目標地址是QueryJobServlet?act=updateSelect。根據目標地址找到對應的QueryJobServlet類,在QueryJobServlet中,根據動作類型act,將查詢結果轉發給修改查詢頁面。單擊updateSelect.jsp頁面中的“修改”超鏈接打開修改招聘信息頁面updateJob.jsp。“修改”超鏈接的目標地址是SelectAJobServlet?id=${job.id}&act=update。根據目標地址找到對應的SelectAJobServlet類,在SelectAJobServlet中,根據動作類型act,將查詢結果轉發給updateJob.jsp頁面顯示。648.9招聘信息管理輸入要修改的信息后,單擊“提交”按鈕,將招聘信息提交給Servlet,根據表單Action找到對應的UpdateJobServlet類,在UpdateJobServlet中執行修改的業務處理。修改成功,進入查詢頁面。修改失敗,回到updateJob.jsp頁面。 updateSelect.jsp頁面的運行效果如圖8.25所示。658.9招聘信息管理,updateJob.jsp頁面的運行效果如圖8.26所示。668.9招聘信息管理8.9.4刪除招聘信息單擊主頁面中“招聘信息管理”菜單的“刪除招聘信息”菜單項,打開刪除查詢頁面deleteSelect.jsp。“刪除招聘信息”菜單項超鏈接的目標地址是QueryJobServlet?act=deleteSelect。根據目標地址找到對應QueryJobServlet類,在QueryJobServlet中,根據動作類型act,將查詢結果轉發給deleteSelect.jsp頁面,頁面效果如圖8.27所示。678.9招聘信息管理在圖8.27的復選框中選擇要刪除的招聘信息,單擊“刪除”按鈕,將要刪除招聘信息的ID,通過表單Action屬性值DeleteJobServlet?act=button提交給DeleteJobSe

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論