《Java Web 應用程序設計立體化教程》第8章綜合實例+充電站管理系統_第1頁
《Java Web 應用程序設計立體化教程》第8章綜合實例+充電站管理系統_第2頁
《Java Web 應用程序設計立體化教程》第8章綜合實例+充電站管理系統_第3頁
《Java Web 應用程序設計立體化教程》第8章綜合實例+充電站管理系統_第4頁
《Java Web 應用程序設計立體化教程》第8章綜合實例+充電站管理系統_第5頁
已閱讀5頁,還剩36頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

8綜合實例充電站管理系統8.1背景知識--

Spring簡介2004年,SpringFramework1.0正式發布Spring是一個輕量級控制反轉(IoC)和面向切面(AOP)的容器框架Spring是Java企業版(JavaEnterpriseEdition,JEE,也稱J2EE)的輕量級代替品,Spring為企業級Java開發提供了一種相對簡單的方法,用簡單的Java對象(PlainOldJavaObject,POJO)實現了EJB的功能8.1背景知識--

Spring產生的初衷(1)JAVAEE開發應該更加簡單;(2)使用接口而不是使用類,是更好的編程習慣;(3)為JavaBean提供了一個更好的應用配置框架;(4)更多地強調面向對象的設計;(5)盡量減少不必要的異常捕捉;(6)使應用程序更加容易測試。8.1背景知識--

Spring能力(1)最完善的輕量級核心框架;(2)通用的事務管理抽象層;(3)JDBC抽象層;(4)靈活的MVCWeb應用框架。8.1背景知識--

SpringBoot從本質上說,SpringBoot就是SpringSpringBoot把你從復雜的配置工作中解放出來,從而可以聚焦于項目開發本身。有了SpringBoot,可以很容易創建一個Spring框架的項目,而幾乎不用進行Spring配置8.1背景知識--

IntelliJIDEA介紹IntelliJIDEA,是Java編程語言開發的集成環境IntelliJ

IDEA在業界被公認為最好的Java開發工具智能代碼助手、代碼自動提示、重構、J2EE支持…8.2創建一個SpringBoot項目(1)

8.2創建一個SpringBoot項目(2)

8.2創建一個SpringBoot項目(3)

Group:組織名,對應Java包的結構Artifact:項目唯一標識,對應項目名稱,要求全小寫字母。由于我們實踐的項目是充電站管理系統,所以我們使用名稱cdzType:項目類型,此處不需要修改,保持MavenProject即可Packaging:打包類型,默認打包成Jar文件即可JavaVersion:JDK版本Language:開發語言,默認選中JAVA即可Version:初始項目版本Description:項目描述,里面用一句話簡短的介紹下項目Name:項目名稱,我們使用名稱CdzSystemPackage:包名,默認由Group+Artifact組合而成8.2創建一個SpringBoot項目(4)

8.3

項目結構8.3

項目結構

--

啟動類在項目中,src為項目代碼目錄,SpringInitializr為我們在cdz包里默認創建了一個CdzSystemApplication文件,這是Spring的啟動執行類:@SpringBootApplicationpublicclassCdzSystemApplication{publicstaticvoidmain(String[]args){SpringApplication.run(CdzSystemApplication.class,args);}}8.3

項目結構

--

Spring注解注解是JDK5.0引入的一種代碼注釋說明機制,注解一般有以下三類作用:格式檢查:告訴編譯器信息,比如被@Override標記的方法如果不是父類的某個方法,IDE會報錯;減少配置:運行時動態處理,得到注解信息,實現代替配置文件的功能;比如@SpringBootApplication,代表被注解的類是一個Spring啟動類。減少重復工作:比如@Autowired,它可以幫我們對被注解的元素自動完成裝配,我們會在后面使用時詳細說明。8.4項目設計--代碼層級設計resources目錄暫時只存放配置文件pertieswebapp存放用jsp和js編寫的前端頁面代碼java目錄存放我們用java語言寫的代碼,我們大多數后臺邏輯代碼都存放在此處。8.5登錄功能開發(1)開發一個登錄功能,我們需要開發以下三部分:數據庫新增一個用戶表user,用來存儲用戶的用戶名,密碼webapp目錄中開發登錄對應的jsp頁面java目錄下開發用戶表數據庫設計對應的登錄邏輯后臺代碼,用來響應用戶的登錄行為。8.5登錄功能開發(2)--用戶表數據庫設計user表中新增三個字段即可滿足我們需求:id作為自增主鍵user_name作為用戶名,因為用戶名一般為字符串,所以我們字段的類型設置為VARCHAR,長度設置為32即可password作為用戶密碼,用戶密碼一般也是字符串,所以類型同樣設置為VARCHAR。8.5登錄功能開發(3)--新增login.jsp創建目錄page,然后在page目錄下新建一個login.jsp文件。打開perties配置文件,在其中添加以下幾行:spring.mvc.view.prefix=/page/spring.mvc.view.suffix=.jspspring.http.encoding.force=truespring.http.encoding.charset=UTF-8spring.http.encoding.enabled=trueserver.tomcat.uri-encoding=UTF-88.5登錄功能開發(4)--SpringController在Spring框架中,DispatcherServlet負責分發請求到控制器Controller處理。Controller負責接收用戶請求,Controller收到用戶請求后,經過一定處理后,將處理結果返回給對應View進行顯示。Spring定義一個Controller非常簡單,在這個類上添加一個注解@Controller即可。8.5登錄功能開發(5)--響應登錄請求的Controller我們在MainController上面添加了@Controller說明這個類是一個Spring的Controller?,F在MainController就可以響應用戶的請求。方法loginPage添加了一個注解@RequestMapping。

這個被注解的方法將響應用戶的login請求。在方法中,我們直接返回了一個字符串login,這里的意思是說,將login.jsp頁面返回給用戶。8.5登錄功能開發(6)--頁面發起登錄行為我們可以將loginName和loginPassword兩個input的中數據傳遞給后臺的/api/login接口。一旦后臺處理成功,我們可以在success函數中,根據后臺返回的結果,進行相應的處理。8.5登錄功能開發(7)--創建User類User表的字段和表結構一一對應,并添加對應的getter和setter方法。8.5登錄功能開發(8)--JdbcTemplateJdbcTemplate是Spring提供的,為了提供訪問數據庫能力的類。JdbcTemplate為我們提供了以下方法:update方法,新增、修改、刪除數據庫數據queryForObject方法,讀取匹配的單條數據query方法,讀取匹配到的數據庫的一組數據8.5登錄功能開發(9)--創建UserService

UserService添加了@Service注解,這個注解的意思是,UserService是一個業務層組件,用于提供具體的業務功能,比如我們這里新增的login函數。8.5登錄功能開發(10)--后臺處理登錄行為兩個參數:name和password,而且這兩個參數上都添加了注解@RequestParam。這個注解的含義是說明這兩個參數是由前端接口傳遞來的。也就是跟我們在頁面傳遞的name和password兩個參數是一一對應的。8.6注冊頁面開發(1)8.6注冊頁面開發(2)--注冊接口開發8.7上傳下載文件(1)8.7上傳下載文件(2)–下載接口getParameterMap函數可以獲取傳遞來的參數,我們從中取出name參數,作為文件名,然后直接打開files目錄下對應的文件并返回即可。8.7上傳下載文件(3)–上傳接口函數的參數類型為MultipartFile,是因為我們在頁面上傳時,指定了提交類型為"multipart/form-data"

。8.8

發送郵件(1)Sun公司提供了JavaMail用來實現郵件發送,但是配置煩瑣。Spring中提供了JavaMailsender用來簡化郵件配置SpringBoot則提供了MailSenderAutoConfiguration對郵件的發送做了進一步簡化。8.8發送郵件(2)–參數配置8.8發送郵件(3)–后臺接口8.8發送郵件(4)–發送頁面8.9繪制圖表(1)ECharts是百度開源的純Javascript圖表庫支持折線圖(區域圖)、柱狀圖(條狀圖)、散點圖(氣泡圖)、K線圖、餅圖(環形圖)、雷達圖(填充雷達圖)、和弦圖、力導向布局圖、地圖、儀表盤、漏斗圖、事件河流圖等12類圖表同時提供標題,詳情氣泡、圖例、值域、數據區域、時間軸、工具箱等7個可交互組件,支持多圖表、組件的聯動和混搭展現。8.9繪制圖表(2)8.10導出Excel(1)Java解析、生成Excel比較有名的框架有Apachepoi、jxl他們都存在一個嚴重的問題就是非常的耗內存poi有一套SAX模式的API可以一定程度的解決一些內存溢出的問題,但POI還是有一些缺陷,比如07版Excel解壓縮以及解壓后存儲都是在內存中完成的,內存消耗依然很大EasyExcel是一個基于Java的簡單、省內存的讀寫Excel的開源項目。8.10導出Excel(2)使用EasyExcel生成Excel十分簡單,我們下面只使用一行代碼就可以實現該功能: EasyExcel.write("users.xlsx",User.class).sheet("用戶列表").doWrite(userService.getUsers());小結通過本章的學習,我們依次介紹了:如何將用戶在瀏覽器的請求映射到JSP頁面中如何將頁面中的ajax請求傳遞到后臺java代碼中如何通過JDBC對數據庫進行增刪改查文件的上傳下載發送郵件繪制圖表導出Excel。后續的開發習題(1)為用戶增加上次登錄時間、登錄次數屬性,在每次用戶登錄后記錄。為用戶增加姓名屬性,要求注冊時填入。為用戶增加郵箱屬性,要求注冊時填入。在注冊時,檢查郵箱未被使用,如已經被使用,報錯提醒用戶。在登錄頁面增加找回密碼功能。點擊找回密碼,跳轉到新頁面,用戶輸入自己的郵箱后,系統將用戶密碼發送到用戶的郵箱。參考8.7

溫馨提示

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

評論

0/150

提交評論