目錄
一.項目介紹
1.功能介紹
2.技術(shù)選型
3.實體類
二.項目搭建
1.創(chuàng)建項目
2.adminLTE?
3.編寫后端首頁
4.提取統(tǒng)一后臺模板
5.重構(gòu)后臺首頁
*************************************************************************
項目代碼地址:等寫完這個項目我會上傳的。
*************************************************************************
一.項目介紹 1.功能介紹旅游網(wǎng)是一款常見的旅游網(wǎng)站,項目分為管理員端和用戶端。管理員端(后臺) 主要進行旅游產(chǎn)品的維護,用戶端(前臺)主要進行旅游產(chǎn)品的展示。
2.技術(shù)選型開發(fā)項目要使用穩(wěn)定版本,不要去使用最新版本,而且技術(shù)選型最好是團隊里人都會,不會也可以快速上手,然后選擇開發(fā)效率高的,比如用SpringBoot代替Spring,用MybatisPlus代替Mybatis
pojo型實體類分為六個,分別是管理員,旅游產(chǎn)品類型,前臺用戶,權(quán)限,產(chǎn)品,角色(代碼略)。
二.項目搭建 1.創(chuàng)建項目將數(shù)據(jù)庫腳本導入數(shù)據(jù)庫(admin是管理員表,role是角色表,admin_role是管理員與角色得一個中間表,permission是權(quán)限表,role_permission是角色和權(quán)限的一個中間表,category是旅游產(chǎn)品的一個類別,member是用戶表,product是旅游產(chǎn)品表,favorite是用戶旅游產(chǎn)品的收藏表)
創(chuàng)建名為travel 的Springboot項目,引入相關(guān)依賴
引入如下依賴:
用SpringBoot腳手架工具創(chuàng)建項目的時候,需要在pom.xml文件中手動引入依賴;然后測試依賴是自動引入的,不需要咱們引入。
com.baomidou mybatis-plus-boot-starter3.5.0
編寫配置文件(application.yml,修改后綴properties為yml即可,主要是為了使用yml文件的格式):
# 端口
server:
port: 80
# 數(shù)據(jù)源
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
# url: jdbc:mysql:///travel?serverTimezone=UTC
url: jdbc:mysql://192.168.0.182:3306/travel?serverTimezone=UTC
username: root
password: root
# 上傳文件
servlet:
multipart:
max-file-size: 10MB # 大單個文件
max-request-size: 10MB # 一次請求大上傳
# 打成jar包必須添加如下配置才能找到頁面
thymeleaf:
mode: HTML
cache: false
prefix: classpath:/templates
#配置mybatis-plus
mybatis-plus:
global-config:
db-config:
# 主鍵生成策略為自增
id-type: auto
configuration:
#關(guān)閉列名自動駝峰命名規(guī)則映射,因為我導入的數(shù)據(jù)庫文件表的列名不是下劃線分割的,而是用的駝峰命名法
#一般情況下是數(shù)據(jù)庫里用下劃線法,實體類里用駝峰命名法,這樣可以實現(xiàn)自動對應(yīng)
map-underscore-to-camel-case: false
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #開啟sql日志
# 日志格式
logging:
pattern:
console: '%d{HH:mm:ss.SSS} %clr(%-5level) --- [%-15thread] %cyan(%-50logger{50}):%msg%n'
然后在travel包下創(chuàng)建pojo實體類(必須和數(shù)據(jù)庫對應(yīng)起來),然后咱們再在travel下創(chuàng)建bean包,bean也是存放實體類的包,與pojo不同的是bean下存放的只是與咱們自己創(chuàng)建的一些與數(shù)據(jù)沒有對應(yīng)關(guān)系的實體類,而pojo中的實體類都與數(shù)據(jù)庫有對應(yīng)關(guān)系!
實體類如下:
(具體代碼就不放了,太占地方)
然后還得創(chuàng)建mapper包,存放MybatisPlus的一些接口;還要創(chuàng)建服務(wù)層service包,然后創(chuàng)建util包,放一些工具類再創(chuàng)一個security包,存放權(quán)限控制的東西;創(chuàng)建攔截器包interceptor;最后還要創(chuàng)建一個控制器的包controller,網(wǎng)站前臺是用戶訪問的,后臺是管理員訪問的,所以控制器得分為前臺控制器和后臺控制器,這樣controller包下就得再創(chuàng)建frontdesk和backstage兩個包。
我們用了thymeleaf,所以不能直接訪問html等文件,所以需要一個頁面跳轉(zhuǎn)控制器在中間轉(zhuǎn)接一下,那么就在控制層下創(chuàng)建一頁面跳轉(zhuǎn)的控制器PageController,這個控制器既可以跳到前端頁面,也可以跳到后端頁面,所以既不屬于前端也不屬于后端,直接在controller包下寫即可。
@Controller
public class PageController {
//訪問后臺頁面
@RequestMapping("/backstage/{page}")
public String showPageBackstage(@PathVariable String page){
return "/backstage/"+page;
}
//訪問前臺頁面
@RequestMapping("/frontdesk/{page}")
public String showPageFrontdesk(@PathVariable String page){
return "/frontdesk/"+page;
}
}
然后咱們在控制器終寫的前臺頁面都在frontdesk下,后端頁面都在backstage下,咱們的模板引擎用的是thymeleaf,要放到resources下的templates下,所以咱們要在 templates 下創(chuàng)建frontdesk包和backstage包。然后咱們在backstage下隨便寫一個html來測試一下。
啟動項目并訪問如下鏈接
然后在頁面跳轉(zhuǎn)控制器PageController中添加如下代碼,消除一個可有可無的圖標異常(比如用谷歌瀏覽器訪問,就上圖那個左上角的小地球,訪問百度,也會有類似的這種圖標,但是咱們的項目就不設(shè)置這種圖標了,所以給訪問這種圖標的地址設(shè)個空函數(shù),讓它不報異常,眼不見心不煩)
//忽略訪問項目Logo
@RequestMapping("favicon.ico")
@ResponseBody
void returnNoFavicon(){}
2.adminLTE?官網(wǎng):Free Bootstrap Admin Template - AdminLTE.IO
項目分為管理員端和用戶端。管理員端負責管理網(wǎng)站資源,發(fā)布旅游產(chǎn)品;用戶端可以查詢旅游產(chǎn)品,收藏旅游產(chǎn)品等。兩端使用的頁面風格不同。在項目中,我們使用AdminLTE框架作為管理員端頁面,使用自己編寫的網(wǎng)頁作為用戶端頁面。
AdminLTE是一款建立在bootstrap和jquery之上的開源的模板主題工具,它提供了一系列響應(yīng)的、可重復使用的組件, 并內(nèi)置了多個模板頁面;同時自適應(yīng)多種屏幕分辨率,兼容PC和移動端。通過AdminLTE, 我們可以快速的創(chuàng)建一個響應(yīng)式的Html5網(wǎng)站。AdminLTE框架在網(wǎng)頁架構(gòu)與設(shè)計上,有很大的輔助作用,尤其是前端架構(gòu)設(shè)計師,用好AdminLTE不但美觀,而且可以免去寫很大CSS與JS的工作量。
使用AdminLTE非常簡單,只需要根據(jù)需求將需要的組件復制到我們的頁面中即可。
1.將下載好的AdminLTE的靜態(tài)資源復制到/static/backstage中(其中有自己加的少許js文件)。
AdminLTE資源中的pages文件夾下的all-admin-blank.html文件就是首頁,所以咱們要把它復制到templates/backstage下,為了可讀性,咱們給它改一個名字為index.html,然后咱們需要把這個文件中的一些引入css文件的路徑給修改一下,因為咱們在static和templates下都創(chuàng)建frontdesk和backstage文件,所以按Ctrl+R進行替換
然后右鍵static文件,點擊Rebuild 'static',然后啟動項目,訪問localhost:80/backstage/index.html
先在index.html頁面加入thymeleaf命名空間,在html標簽里添加即可
編寫一下注銷的退出路徑
然后后面的頁面修改我就不一一記錄了,這個項目的這一部分就是下載了AdminLTE的資源,然后再自己進行一些修改,迎合我們的項目,我前端的代碼功底比較薄弱,把項目大體思路說明白就行了。
4.提取統(tǒng)一后臺模板我們寫的很多頁面可能都長得差不多,所以我們可以把可以共用的元素組件提取出來,等我們需要時,我們再在需要的頁面引入即可。創(chuàng)建如下四個文件,做公共模板提取之用。
然后我們把剛剛修改的那個index.html文件里的對應(yīng)的部分的代碼分別復制到對應(yīng)的html文件當中(要覆蓋創(chuàng)建文件時自動生成的html代碼)
咱們需要用thymeleaf把這些提取的模板文件引入到其他文件當中,所以咱們需要在這四個公共模板文件中引入thymeleaf的命名空間。具體寫法還是要下載下來該項目的代碼來看看。
5.重構(gòu)后臺首頁后臺頁面直接引用那幾個公共部分
th:replace是thymeleaf的語法。
首頁
運行項目訪問后臺主頁,和之前一樣,即改造成功!
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)頁名稱:項目實戰(zhàn)之旅游網(wǎng)(一)項目介紹&項目搭建-創(chuàng)新互聯(lián)
當前鏈接:http://www.chinadenli.net/article28/dcshcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、動態(tài)網(wǎng)站、云服務(wù)器、商城網(wǎng)站、Google、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容