前后端+數據庫的項目實戰:hbu迎新網-較復雜(下)javaweb

目錄

十一、實現對內容的富文本編輯(換行、圖片顏色等等樣式)

(1)下載富文本編輯器,引入資源

(2)將原項目的內容部分替換為富文本編輯器

1、替換添加頁面

2、替換修改頁面(和添加一樣,多了一個回顯操作)?

十二、添加操作時的圖片上傳

(1)建立util包,然后創建SetSession服務器

(2)實現效果

?(3)將選擇的圖片上傳到數據庫

?(4)將選擇的圖片封面顯示到前端頁面

1、在add.html中添加一個隱藏域傳值

?2、從隱藏域中取值

3、傳到數據庫

?4、可以在后端數據庫的Imgurl中看到圖片的地址信息

5、ur顯示到前端,在content.js中修改路徑

(5)最終效果

十三、修改操作時的圖片上傳-和添加操作差不多?

(1)updata.html和添加的一樣,設置一個隱藏域+一個展示的div

?(2)最終效果

?十四、將數據庫信息顯示到main首頁

(1)將數據返回前端(以通知公告為例)

(2)將數據顯示追加到前端(以通知公告為例)

(3)最終

十五、點擊hub.html菜單欄跳轉到列表頁并展示對應內容

(1)獲取hub.html頁面的欄目id到列表頁

(2)根據id 查找內容并顯示

?(3)更改前端顯示的欄目為正確的欄目名稱

十六、點擊條目跳轉到詳情頁(hbu_detail) 和十五類似

?(1)綁定屬性

(2)根據id 查找 內容并顯示

(3)最后再修改一下面包線的內容?

十七、在列表頁跳轉到列表頁

(1)在hub_list.js中添加

十八、在列表頁跳轉到詳情頁hbu_detail

(1)給事件捆綁id

?(2)在hub_list.js中添加

(3)最終

十九、在詳情頁點擊跳轉其他頁面

(1)給所有點擊要跳轉的掛上class ='tolist'

?(2)最終實現各個頁面間的跳轉

二十、完成登錄頁面

(1)數據庫新建一個用戶表

(2)點擊登錄按鈕獲取輸入框的值

1、login.html頁面

2、js:?

3、后端服務器loginseverlet.java?

(3)最終效果

二十一、只是樣式上進行了一個合理的跳轉,現在實現必須經過登錄才能訪問hbu.html?---過濾器

(1)對所有資源過濾

(2)只對不該被直接訪問的資源過濾

1、服務器創建session 存狀態?

2、在過濾器中:?

總結:一些tips


前后端+數據庫的項目實戰:hbu迎新網-較復雜(上)-CSDN博客?-----上篇博客

十一、實現對內容的富文本編輯(換行、圖片顏色等等樣式)

(1)下載富文本編輯器,引入資源

UEditor Docs 官網說明文檔

下載此資源

將資源解壓后拖放到WebContent目錄下:

?修改報錯的兩個地方:

第一個文件設置編碼為utf-8【其余是注釋報錯這個不用管】

第二個文件報錯是因為

把lib目錄下的jar包全部復制到項目本身lib文件下

創建 demo.html 文件,填入下面的html代碼

<!DOCTYPE HTML>
<html lang="en-US"><head><meta charset="UTF-8"><title>ueditor demo</title>
</head><body><!-- 加載編輯器的容器 --><script id="container" name="content" type="text/plain">這里寫你的初始化內容</script><!-- 配置文件 --><script type="text/javascript" src="ueditor.config.js"></script><!-- 編輯器源碼文件 --><script type="text/javascript" src="ueditor.all.js"></script><!-- 實例化編輯器 --><script type="text/javascript">var ue = UE.getEditor('container');</script>
</body></html>

因為我不是在utf8-jsp目錄下創建的,所有需要修改為

運行此文件

?????????上傳圖片時不能顯示是因為沒有設置路徑前綴:【項目名稱】其他配置項一樣 真正上傳的圖片存在了

E:\eclipse.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\HBU\ueditor\jsp\upload\image\20250221 先把圖片上傳到服務器下的某個文件夾下重命名

?工作原理大家可以自己上網搜索一下

(2)將原項目的內容部分替換為富文本編輯器

1、替換添加頁面

?add.html中找到需要放置編輯器的地方:

在外面的add,js文件中初始化

獲取content要從富文本編輯器中獲取

運行項目:

?

但是樣式一復雜了就添加失敗了?【因為添加到數據庫的content是用雙引號引用樣式的,我們需要把這些雙引號變成單引號再進行字符串的拼接,否則傳入后端的sql語句是有問題的】?

2、替換修改頁面(和添加一樣,多了一個回顯操作)?

回顯后為:

?

十二、添加操作時的圖片上傳

(1)建立util包,然后創建SetSession服務器

(2)實現效果

?(3)將選擇的圖片上傳到數據庫

add.js,像剛剛建立的SetSession發起請求

上傳的圖片會放在:

?-----至此:

?(4)將選擇的圖片封面顯示到前端頁面

1、在add.html中添加一個隱藏域傳值

?

2、從隱藏域中取值

3、傳到數據庫
?4、可以在后端數據庫的Imgurl中看到圖片的地址信息

5、ur顯示到前端,在content.js中修改路徑

(5)最終效果

十三、修改操作時的圖片上傳-和添加操作差不多?

(1)updata.html和添加的一樣,設置一個隱藏域+一個展示的div

js文件中,將圖片回顯【這里注意要給隱藏域設置值,才能顯示到前端】,圖片上傳【和add一樣】,獲取隱藏域的URL

后端文件接受imgrul參數

?(2)最終效果

圖片上傳操作需要這兩個jar包,但是因為在使用富文本編輯器的時候已經有了,所以上傳操作時就沒有導入了?

?十四、將數據庫信息顯示到main首頁

(1)將數據返回前端(以通知公告為例)

?

(2)將數據顯示追加到前端(以通知公告為例)

//裁剪 限制字數
var cut = function(str,len){if(str.length()>len){str = str.substring(0,len)+"..."}return str
}

?

(3)最終

十五、點擊hub.html菜單欄跳轉到列表頁并展示對應內容

(1)獲取hub.html頁面的欄目id到列表頁

因為跨頁面了 ,所以這里用到了cookie?

hub_list.js中:

(2)根據id 查找內容并顯示


//裁剪 限制字數
var cut = function(str,len){if(str.length>len){str = str.substring(0,len)+"..."}return str
}
//獲取欄目id
var channelid = $.cookie("channelid").substring(1)//查找數據
$.ajax({url:"HbuServlet",type:"get",data:{channelid,},success:function(value){//console.log(value)var arr = value.data// 塞到hbu_list.html$(".hbu_list ul").empty()for(var i=0;i<arr.length;i++){$(".hbu_list ul").append("<li>"+"<a href='#' class='toDetail'>"+"<div class='left'>"+"<h3>"+cut(arr[i].title,30)+"</h3>"+"<p>"+cut(arr[i].desc,100)+"</p>"+"</div>"+"<div class='right'>"+"<span>"+arr[i].createtime.substring(0,10)+"</span>"+"</div>"+" </a>"+" </li>")}}
})

?

?(3)更改前端顯示的欄目為正確的欄目名稱

sql:select * from channel where id=2

十六、點擊條目跳轉到詳情頁(hbu_detail) 和十五類似

因為跨頁面了 ,所以這里用到了cookie

?(1)綁定屬性

由于這些條目都是后來生成的(從數據庫中拿來的),所所以綁定屬性的時候不能在原來的html中

(2)根據id 查找 內容并顯示

顯示到頁面

(3)最后再修改一下面包線的內容?

十七、在列表頁跳轉到列表頁

(1)在hub_list.js中添加

//跳轉到列表頁
$(".tolist").click(function(){//存cookie,攜帶href屬性值$.cookie("channelid",$(this).attr("href"))//頁面跳轉location.href="hbu_list.html"
})

十八、在列表頁跳轉到詳情頁hbu_detail

(1)給事件捆綁id

?(2)在hub_list.js中添加

//跳轉到詳情頁hub_detail
$("body").on("click",".toDetail",function(){//存cookie,攜帶href屬性值$.cookie("contentid",$(this).attr("href"))//頁面跳轉location.href="hbu_detail.html"
})

(3)最終

十九、在詳情頁點擊跳轉其他頁面

(1)給所有點擊要跳轉的掛上class ='tolist'

在hbu_detail.js中添加.

//跳轉到列表頁
$(".tolist").click(function(){//存cookie,攜帶href屬性值$.cookie("channelid",$(this).attr("href"))//頁面跳轉location.href="hbu_list.html"
})

?(2)最終實現各個頁面間的跳轉

二十、完成登錄頁面

(1)數據庫新建一個用戶表

需要的sql語句

(2)點擊登錄按鈕獲取輸入框的值

1、login.html頁面

?

2、js:?

3、后端服務器loginseverlet.java?

(3)最終效果

二十一、只是樣式上進行了一個合理的跳轉,現在實現必須經過登錄才能訪問hbu.html?---過濾器

知識點--過濾器:

新建一個filter過濾器

這里修改為

在doFilter里編寫代碼

運行hbu.html文件時:

且看不到頁面:但并不是報錯

(1)對所有資源過濾

過濾器先收到請求。

(2)只對不該被直接訪問的資源過濾

1、服務器創建session 存狀態?

2、在過濾器中:?

總結:一些tips

①后端代碼沒問題,修改之后運行為無效修改----------重新運行servers【一般創建新的servlet就要重啟】

②前端頁面修改后運行沒變化:清除瀏覽器數據之后再運行

③前端熟練使用alert和console測試是否修改成功;后端直接System.out.println()

④進行字符串拼接時,如果使用雙引號當做開始結束符號,字符內部的雙引號要寫成單引號

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/73205.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/73205.shtml
英文地址,請注明出處:http://en.pswp.cn/web/73205.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

腳本語言 Lua

概念 Lua由標準C編寫而成&#xff0c;幾乎在所有操作系統和平臺上都可以編譯、運行。Lua腳本可以很容易地被C/C 代碼調用&#xff0c;也可以反過來調用C/C的函數&#xff0c;這使得Lua在應用程序中可以被廣泛應用。Lua并沒有提供強大的庫&#xff0c;它是不適合作為開發獨立應…

【數據分享】2000—2024年我國鄉鎮的逐月歸一化植被指數(NDVI)數據(Shp/Excel格式)

之前我們分享過2000—2024年我國省市縣三級逐月歸一化植被指數&#xff08;NDVI&#xff09;數據&#xff0c;該數據是基于NASA定期發布的MOD13A3數據集中的月度NDVI柵格數據&#xff08;可查看之前的文章獲悉詳情&#xff09;計算得出。很多小伙伴拿到數據后反饋是否可以處理出…

【負載均衡系列】HAProxy

HAProxy(High Availability Proxy)是一款高性能的 ?TCP/HTTP 負載均衡器,專注于提供高可用性、靈活性和可靠性。以下是關于HAProxy的詳細解析,涵蓋其工作原理、工作機制、工作模式等核心方面: 一、HAProxy 工作原理 HAProxy的核心職責是將客戶端請求高效、可靠地分發到后…

輕松遷移 Elasticsearch 數據:如何將自建索引導出并導入到另一個實例

概述 在日常的 Elasticsearch 運維和數據管理中&#xff0c;數據遷移是一個常見的需求。無論是為了備份、升級&#xff0c;還是將數據從一個集群遷移到另一個集群&#xff0c;導出和導入索引數據都是至關重要的操作。本文將詳細介紹如何將自建 Elasticsearch 實例中的索引數據…

JVM 類加載器之間的層次關系,以及類加載的委托機制

JVM 類加載器之間存在一種層次關系&#xff0c;通常被稱為雙親委派模型 (Parent Delegation Model)。這種層次關系和委托機制是 Java 類加載機制的核心&#xff0c;對于保證 Java 程序的安全性和避免類沖突至關重要。 1. 類加載器的層次關系: JVM 中的類加載器&#xff08;Cl…

基于 Vue 3 的PDF和Excel導出

以下是基于 Vue 3 Composition API 的完整實現&#xff0c;包括 PDF 和 Excel 導出。 一、PDF 導出 (Vue 3) 安裝依賴 在項目中安裝相關庫&#xff1a; npm install html2canvas jspdf Vue 3 代碼實現 <template><div><div ref"pdfContent" cla…

【Jupyter】notebook無法顯示tqdm進度條

錯誤描述 from tqdm.notebook import tqdm 用的時候報錯&#xff1a; Error displaying widget解決方式 # 先裝nodejs conda install -c conda-forge nodejs20# 重裝ipywidgets pip uninstall ipywidgets pip install ipywidgets jupyter labextension install jupyter-wid…

ubuntu20如何升級nginx到最新版本(其它版本大概率也可以)

前言&#xff1a; Nginx非常常用&#xff0c;所以在網絡安全方面備受“關注”。其漏洞非常多&#xff0c;要經常保持軟件更新版本才能更好的保證安全。但是Ubuntu官網適配nginx非常慢&#xff0c;所以nginx官方也會推出針對主流Linux操作系統的包管理工具安裝方式。 步驟&…

word插入Mathtype公式居中和自動更新

word插入公式自動更新 前提&#xff1a;安裝Mathtype 1.word中查看頁的寬度 出現如下 2.設置樣式 出現這個窗口 給樣式隨便起個名字 3.修改樣式 3.1 設置兩個制表位 第二個 3.2 修改公式字體 如下所示 4. 修改公式格式 4.1在word中打開 Mathtype 4.2 修改公式的格式 變成…

如何從后端實現頁面跳轉?

例&#xff1a;請求轉發 例&#xff1a;重定向 例&#xff1a;區別&#xff1a;攜帶參數的后端跳轉 例&#xff1a;是否可以訪問外部資源 請求轉發&#xff1a;客戶端發起一個請求到服務端&#xff0c;服務端把這個請求轉發至其他地方 重定向&#xff1a;客戶端發起一個請求…

APIJSON快速入門

作者 版本 時間 內容 備注 Allen V1.0.0 2021/08/19 初稿完成 AllenV1.0.1 2021/08/22 添加常見問題 1.流程說明 一個接口的開發,比如Java用SpringBoot,Mybatis來開發一般來說就像下面這個流程 部署上這個項目后,流程變成了這樣 如果使用 apijson-framework,還可進一步簡化…

STM32八股【3】------RAM和片上FLASH

1、RAM和FLASH構成 1.RAM ┌──────────────────────────┐ │ 棧區 (Stack) │ ← 從RAM頂端向下擴展&#xff08;存儲局部變量、函數調用信息&#xff09; │--------------------------│ │ 堆區 (Heap) │ ← …

基于springboot的星之語明星周邊產品銷售網站(050)

摘要 隨著信息互聯網信息的飛速發展&#xff0c;無紙化作業變成了一種趨勢&#xff0c;針對這個問題開發一個專門適應洗衣店業務新的交流形式的網站。本文介紹了星之語明星周邊產品銷售網站的開發全過程。通過分析企業對于星之語明星周邊產品銷售網站的需求&#xff0c;創建了一…

Android Launcher3 HotSeat文件夾創建禁止方案全解析

一、技術背景與實現原理 在Android 13 Launcher3定制開發中&#xff0c;需屏蔽HotSeat區域的文件夾創建功能。該功能涉及的核心事件處理流程如下&#xff1a; 復制 [拖拽事件] -> [Workspace.onDrop()] -> [CellLayout.performReorder()]└─> [createUserFolderIf…

從零到一開發一款 DeepSeek 聊天機器人

AI聊天機器人 目標設計方案系統架構技術選型功能模塊 實現代碼環境配置安裝依賴 核心代碼API 請求函數主循環函數 功能擴展1. 情感分析2. 多語言支持3. 上下文記憶4. 用戶身份識別 總結附錄 目標 開發一個智能聊天機器人&#xff0c;旨在為用戶提供自然、流暢的對話體驗。通過…

OpenCV-Contrib常用擴展模塊

?一、高頻使用模塊? ?aruco 模塊? ?功能?&#xff1a;用于生成與檢測二維碼&#xff08;如 ArUco Marker、AprilTag&#xff09;&#xff0c;支持增強現實&#xff08;AR&#xff09;中的物體定位與姿態估計?。?典型應用?&#xff1a;AR 應用中的場景錨定、機器人導航…

pfsense部署三(snort各版塊使用)

在上篇文章上我們已經進行了snort的基礎配置了&#xff0c;接下來需要進行snort的具體配置&#xff0c;其中包括各板塊的設置&#xff0c;例&#xff1a;白名單&#xff0c;警報&#xff0c;規則設置等 規則庫配置 點擊 service > snort > Global Settings ,在code值…

汽車制造MES

一、整體生產工序 整車的車間主要分為4個部分&#xff1a;沖壓、焊裝、涂裝、總裝、整車入庫 系統架構 二、車間概括 1.沖壓車間 2.焊裝車間 3.涂裝車間 4.總裝車間 1.整車裝配的部件都要可追溯、數據實時性要求高、涉及分裝與總裝的協調、物流配送的協調、質量批處理的協調、…

python接口自動化pytest+request+allure

自己自學接口自動化過程遇到的問題及解決方法記錄 首先是一個簡單的請求 import requests#這是一個簡單是get請求 def test_get():geturl https://so.csdn.net/api/v1/relevant-search?querypycharm%E5%AE%89%E8%A3%85requests%E5%BA%93&platformpcgetr requests.get(…

CompletableFuture的使用

CompletableFuture 是 Java 8 引入的異步編程工具&#xff0c;通過鏈式調用和非阻塞操作簡化多線程任務編排。 創建異步任務 1.帶返回值的任務 CompletableFuture<String> future CompletableFuture.supplyAsync(() -> "Hello");2. ?無返回值的任務 使…