web_ajax綜合練習(xí)

Javaweb-綜合練習(xí)

第1章?項(xiàng)目介紹

后臺(tái)管理p2p_management

實(shí)現(xiàn)登錄,退出產(chǎn)品管理(產(chǎn)品添加,產(chǎn)品查詢,產(chǎn)品修改)

前臺(tái)管理p2p_home

客戶注冊(cè),登錄,郵箱認(rèn)證

帳戶中心產(chǎn)品查詢帳戶信息查詢產(chǎn)品購(gòu)買(mǎi)


技術(shù)架構(gòu):jsp+servlet+javabean+mysql+redis+filter

新的知識(shí)點(diǎn):

1. 數(shù)據(jù)庫(kù)操作的事務(wù)管理

2. Javamail

3. Beanutils工具它可以將請(qǐng)求參數(shù)直接封裝成實(shí)體對(duì)象

本次綜合練習(xí),主要是以ajax操作為主。

第2章?項(xiàng)目環(huán)境搭建

1. eclipse中項(xiàng)目環(huán)境搭建


搭建package結(jié)構(gòu)


2. 關(guān)于數(shù)據(jù)庫(kù)

五張表

1. user表,它是后臺(tái)用戶表

2. product表,產(chǎn)品表

3. account表 客戶帳戶表

4. product_account客戶購(gòu)買(mǎi)產(chǎn)品表

5. customer客戶表


第3章?功能實(shí)現(xiàn)

]3.1?[endif]p2p_management功能實(shí)現(xiàn)

[if !supportLists]3.1.1?[endif]簡(jiǎn)單登錄與退出

[if !supportLists]3.1.1.1?[endif]登錄操作

登錄頁(yè)面login.html

步驟1:創(chuàng)建一個(gè)User類(lèi)它與表user對(duì)應(yīng)


步驟2:創(chuàng)建UserServlet


步驟3:將login.html頁(yè)面轉(zhuǎn)換為login.jsp


步驟4:在servlet中完成用戶登錄操作

1.先獲取username,password

2.完成驗(yàn)證操作

3.調(diào)用service完成操作

4.在service中調(diào)用dao完成操作


操作數(shù)據(jù)庫(kù)使用的是c3p0連接池與dbutils工具,提供了一個(gè)JdbcUtils



步驟5:從數(shù)據(jù)庫(kù)中查詢出user,判斷是否登錄成功,進(jìn)行頁(yè)面跳轉(zhuǎn)


[if !supportLists]3.1.1.2?[endif]用戶未登錄不能訪問(wèn)/views/hom.jsp

可以使用filter來(lái)完成操作



注意:上面的filter配置它只能對(duì)REQUEST請(qǐng)求攔截,我們也需要對(duì)FORWARD攔截



[if !supportLists]3.1.1.3?[endif]退出操作

1.在home.jsp頁(yè)面顯示登錄用戶的名稱


2.退出操作

我們退出時(shí),一定要將session銷(xiāo)毀,在將頁(yè)面關(guān)閉。

我使用ajax操作來(lái)完成。

步驟1:創(chuàng)建home.js文件,在home.jsp頁(yè)面導(dǎo)入

步驟2:修改home.jsp頁(yè)面

步驟3:在home.js文件中創(chuàng)建一個(gè)函數(shù)shutdown()來(lái)完成關(guān)閉操作

[if !supportLists]3.1.2?[endif]產(chǎn)品管理-產(chǎn)品查詢

關(guān)于產(chǎn)品信息的查詢,我們使用ajax來(lái)完成操作,并且沒(méi)有分頁(yè)。

思路:

1.當(dāng)home.jsp頁(yè)面加載時(shí)就會(huì)向服務(wù)器發(fā)送請(qǐng)求來(lái)獲取產(chǎn)品信息

2.服務(wù)器端在servlet中處理請(qǐng)求,調(diào)用service,dao完成產(chǎn)品信息查詢,并將信息轉(zhuǎn)換成json響應(yīng)到瀏覽器端

3.在瀏覽器中得到服務(wù)器響應(yīng)的數(shù)據(jù)(json),對(duì)數(shù)據(jù)進(jìn)行處理,展示在home.jsp頁(yè)面上。

[if !supportLists]3.1.2.1?[endif]步驟1:創(chuàng)建Product模型


[if !supportLists]3.1.2.2?[endif]步驟2創(chuàng)建服務(wù)器端的servlet ,service,dao


在service包中創(chuàng)建IProductService 與其實(shí)現(xiàn)ProductServiceImpl ?

在dao包中創(chuàng)建IProductDAO 與其實(shí)現(xiàn)ProductDAOImpl

[if !supportLists]3.1.2.3?[endif]步驟3在home.js中完成頁(yè)面加載時(shí)向服務(wù)器發(fā)送請(qǐng)求,獲取產(chǎn)品信息



[if !supportLists]3.1.2.4?[endif]步驟4.在服務(wù)器端查詢所有產(chǎn)品信息,并轉(zhuǎn)換成json響應(yīng)到瀏覽器




[if !supportLists]3.1.2.5?[endif]步驟5:在瀏覽器端處理json數(shù)據(jù),展示在頁(yè)面上

在home.jsp頁(yè)面上添加一個(gè)


將json數(shù)據(jù)處理后轉(zhuǎn)換成的html代碼顯示在pbody中就可以。


[if !supportLists]3.1.3?[endif]產(chǎn)品管理-產(chǎn)品添加

產(chǎn)品添加思路:

在home.jsp頁(yè)面上點(diǎn)擊添加按鈕,彈出一個(gè)窗口,在窗口中錄入相關(guān)產(chǎn)品信息,將信息發(fā)送到服務(wù)器端,在servlet中調(diào)用service,dao,完成將數(shù)據(jù)插入到product表中,最后我們要在調(diào)用查詢所有產(chǎn)品操作,將添加的產(chǎn)品顯示出來(lái)。


[if !supportLists]3.1.3.1?[endif]步驟1:在home.jsp頁(yè)面上點(diǎn)擊添加按鈕彈出窗口

1.修改home.jsp頁(yè)面上的按鈕

2.在home.jsp中添加彈出層


3.在home.js中添加js代碼


4.在彈出的窗口中創(chuàng)建一個(gè)表單


[if !supportLists]3.1.3.2?[endif]步驟2:添加產(chǎn)品信息,將信息發(fā)送到服務(wù)器端完成添加操作

1.在home.js中完成點(diǎn)擊添加按鈕,獲取添加的表單的數(shù)據(jù)

我們可以使用前面講過(guò)的關(guān)于jquery插件。



[if !supportLists]3.1.3.3?[endif]步驟3在服務(wù)器端完成添加操作

使用beanutils來(lái)完成請(qǐng)求參數(shù)封裝

1.導(dǎo)入jar包


2.使用beanutils將請(qǐng)求參數(shù)封裝到bean對(duì)象中


參數(shù)1是bean對(duì)象 ?

參數(shù)2是我們的請(qǐng)求參數(shù)的Map集合,一般我們使用時(shí)都是使用request.getParameterMap()方法獲取。

注意:要想將請(qǐng)求參數(shù)封裝到bean對(duì)象中,必須讓bean屬性與請(qǐng)求參數(shù)的名稱對(duì)應(yīng)。


這些參數(shù)與Product類(lèi)中的bean屬性名稱相同

完成服務(wù)器端添加操作

Servlet


Service


Dao


[if !supportLists]3.1.3.4?[endif]步驟4添加完成后,在查詢產(chǎn)品在頁(yè)面上顯示


[if !supportLists]3.1.4?[endif]產(chǎn)品管理-產(chǎn)品修改

對(duì)于修改操作就是進(jìn)行查詢,回顯示數(shù)據(jù)后在修改。

[if !supportLists]3.1.4.1?[endif]步驟1:給home.jsp頁(yè)面上的編輯添加連接,點(diǎn)擊進(jìn)行產(chǎn)品的查詢

給編輯添加連接


創(chuàng)建了一個(gè)findById函數(shù)來(lái)完成根據(jù)產(chǎn)品id查詢產(chǎn)品操作


注意:點(diǎn)擊編輯后要彈出一個(gè)窗口



注意:要對(duì)添加操作中的彈窗進(jìn)行修改,添加一個(gè)id進(jìn)行操作

[if !supportLists]3.1.4.2?[endif]步驟2在服務(wù)器端完成根據(jù)id查詢產(chǎn)品操作

Servlet


Dao


[if !supportLists]3.1.4.3?[endif]步驟3在home.jsp頁(yè)面上顯示查詢到的產(chǎn)品信息

對(duì)每一個(gè)文本框添加id



[if !supportLists]3.1.4.4?[endif]步驟4修改操作

瀏覽器端操作


注意:參數(shù)中一定要攜帶id

服務(wù)器端操作

Servlet


dao


[if !supportLists]3.2?[endif]p2p_home功能實(shí)現(xiàn)

[if !supportLists]3.2.1?[endif]用戶管理-注冊(cè)操作

注冊(cè)操作它不僅是添加客戶信息,還要在注冊(cè)時(shí),為客戶生成一個(gè)帳戶。簡(jiǎn)單說(shuō),我們?cè)谶M(jìn)行客戶注冊(cè)操作時(shí),要insert兩條記錄,一條是customer表中添加數(shù)據(jù),代表的是客戶信息,還需要向account表中插入數(shù)據(jù),當(dāng)創(chuàng)建一個(gè)客戶時(shí),也會(huì)為其生成一條帳戶信息。

(本項(xiàng)中,沒(méi)有使用支付寶,微信操作)去進(jìn)行轉(zhuǎn)賬操作,只是簡(jiǎn)單的自己生成了帳戶信息。

[if !supportLists]3.2.1.1?[endif]步驟1:修改register.html頁(yè)面,當(dāng)點(diǎn)擊注冊(cè)按鈕時(shí)向服務(wù)器發(fā)送請(qǐng)求

1.修改手機(jī)號(hào)為郵箱地址

2.給注冊(cè)按鈕添加事件,點(diǎn)擊它完成向服務(wù)器發(fā)送請(qǐng)求操作



[if !supportLists]3.2.1.2?[endif]步驟2:服務(wù)器端完成注冊(cè)操作

注意:注冊(cè)時(shí)要向customer與account表中插入數(shù)據(jù),我們需要進(jìn)行事務(wù)控制。

Servlet創(chuàng)建


Domain



[if !supportLists]3.2.1.3?[endif]步驟3:完成添加客戶操作

關(guān)于JdbcUtils工具


Service操作


Dao操作


[if !supportLists]3.2.1.4?[endif]步驟4:完成添加帳戶操作

注意:添加客戶時(shí)要保證它的email與c_name是唯一的。


添加帳戶信息


[if !supportLists]3.2.1.5?[endif]步驟5:判斷客戶名稱與郵箱唯一 ,并響應(yīng)數(shù)據(jù)到瀏覽器


為了方便在瀏覽器端判斷是否成功,我們可以設(shè)置一個(gè)json類(lèi)型的返回結(jié)果。



[if !supportLists]3.2.1.6?[endif]步驟6:解決前端js校驗(yàn)

非空校驗(yàn)



規(guī)則校驗(yàn)



[if !supportLists]3.2.2?[endif]用戶管理-登錄操作

注意:在登錄時(shí),我們錄制客戶名稱或郵箱地址都可以完成登錄。

[if !supportLists]3.2.2.1?[endif]步驟1:在登錄頁(yè)面上顯示圖片驗(yàn)證碼

將資料中的CheckImageServlet復(fù)制到utils包下在web.xml文件中配置


在login.html頁(yè)面上添加


點(diǎn)擊圖片驗(yàn)證碼切換圖片



[if !supportLists]3.2.2.2?[endif]步驟2:完成點(diǎn)擊立即登錄操作,將信息發(fā)送到服務(wù)器端

注意:在頁(yè)面上需要給用戶名密碼驗(yàn)證碼添加name屬性



[if !supportLists]3.2.2.3?[endif]步驟3:在服務(wù)器端完成登錄操作,并響應(yīng)數(shù)據(jù)到瀏覽器端

獲取請(qǐng)求參數(shù),判斷驗(yàn)證碼是否正確


調(diào)用service完成登錄操作



在瀏覽器端處理服務(wù)器的響應(yīng)數(shù)據(jù)


注意:在login.html頁(yè)面上我們進(jìn)行了修改


[if !supportLists]3.2.2.4?[endif]步驟4:完成郵箱登錄

在登錄程序中添加一段來(lái)判斷是否是郵箱


[if !supportLists]3.2.2.5?[endif]步驟5:在服務(wù)器端進(jìn)行校驗(yàn)



[if !supportLists]3.2.2.6?[endif]步驟6:關(guān)于密碼md5加密問(wèn)題

Java加密


在mysql中對(duì)密碼進(jìn)行加密

UPDATE customer SET PASSWORD=MD5('123');

[if !supportLists]3.2.2.7?[endif]步驟7登錄后,跳轉(zhuǎn)到space.html頁(yè)面加載客戶帳戶信息

給space.html頁(yè)面中導(dǎo)入一個(gè)space.js文件,在space.js文件中


這個(gè)函數(shù)是頁(yè)面加載完成后執(zhí)行。我們就可以在函數(shù)中向服務(wù)器發(fā)送請(qǐng)求,來(lái)獲取客戶的帳戶信息在頁(yè)面上顯示

1.向服務(wù)器發(fā)送請(qǐng)求


2.在服務(wù)器端判斷客戶是否登錄


3.客戶登錄,查詢客戶的帳戶信息


注意:在JsonResult中雙封裝了一個(gè)content信息,它主要是用于封裝查詢的對(duì)象,例如Account對(duì)象。

4.在頁(yè)面上處理帳戶信息顯示

首先在space.html頁(yè)面上添加了id,在js代碼中進(jìn)行了處理



[if !supportLists]3.2.3?[endif]用戶管理-郵箱認(rèn)證

郵箱認(rèn)證主要就是修改customer表中的email_status字段值修改為1

第一部分:點(diǎn)擊”認(rèn)證”彈出窗口,在窗口中顯示用戶注冊(cè)時(shí)的郵箱,可以在點(diǎn)擊按鈕向服務(wù)器發(fā)送請(qǐng)求,服務(wù)器端要向郵箱發(fā)送一封郵件。

第二部分:完成郵箱認(rèn)證操作


[if !supportLists]3.2.3.1?[endif]步驟1:點(diǎn)擊認(rèn)證彈出窗口

在space.html頁(yè)面上添加了模態(tài)框代碼

在”認(rèn)證”上添加


在space.js文件中


接下來(lái)我們修改模態(tài)框




[if !supportLists]3.2.3.2?[endif]步驟2:完成服務(wù)器端客戶信息查詢,在文本框中顯示客戶的郵箱地址


瀏覽器端處理


關(guān)于客戶郵箱認(rèn)證時(shí)顯示問(wèn)題處理

在整個(gè)space.html頁(yè)面加載后,處理郵箱認(rèn)證顯示


注意:服務(wù)器端在查詢帳戶信息時(shí),將客戶信息也封裝到Account對(duì)象中。


[if !supportLists]3.2.3.3?[endif]步驟3:完成郵件的發(fā)送操作

服務(wù)器端發(fā)送郵件



[if !supportLists]3.2.3.4?[endif]步驟4:郵箱認(rèn)證

主要就是修改customer表中的email_status字段值為1.

前臺(tái)給“認(rèn)證”按鈕添加事件,點(diǎn)擊它向服務(wù)器發(fā)送請(qǐng)求,攜帶著郵箱與錄入驗(yàn)證碼,在服務(wù)器端完成認(rèn)證操作。





[if !supportLists]3.2.4?[endif]帳戶中心-產(chǎn)品購(gòu)買(mǎi)

產(chǎn)品購(gòu)買(mǎi),我們首先要對(duì)產(chǎn)品進(jìn)行查詢。我們?cè)趐2p_home中要查詢產(chǎn)品信息,在p2p_management工程中已經(jīng)提供了產(chǎn)品的crud操作,會(huì)使用跨域來(lái)完成數(shù)據(jù)查詢??梢允褂胘query提供的getJson操作

對(duì)于產(chǎn)品的購(gòu)買(mǎi),我們?cè)鯓硬僮?

1.用戶的帳戶表中的信息一定要改變

2.product_account表,這張表中記錄的是客戶的投資信息。

注意:在product_account表中我們還需要添加兩個(gè)字段,一個(gè)是money代表投資金額 ,還需要記錄本次交易收益interest


[if !supportLists]3.2.4.1?[endif]步驟1:跨域查詢產(chǎn)品信息在moto.html頁(yè)面上展示產(chǎn)品

在moto.js中完成向p2p_management工程發(fā)送請(qǐng)求,查詢所有產(chǎn)品信息


在p2p_management的ProductServlet的findAll方法中修改



[if !supportLists]3.2.4.2?[endif]步驟2:在moto.html頁(yè)面上展示產(chǎn)品信息

我們使用一個(gè)jquery的插件來(lái)實(shí)現(xiàn)產(chǎn)品信息的滾動(dòng)展示。

1.導(dǎo)入自動(dòng)滾動(dòng)jquery插件相關(guān)的css與js文件



2.在頁(yè)面上進(jìn)行修改


    • 3.在moto.js文件中拼裝html代碼時(shí)



      [if !supportLists]3.2.4.3?[endif]步驟3:moto.html頁(yè)面上產(chǎn)品購(gòu)買(mǎi)信息生成

      1.點(diǎn)擊我要購(gòu)買(mǎi)時(shí)在頁(yè)頁(yè)面上展示產(chǎn)品信息



      2.在moto.html頁(yè)面上展示當(dāng)前要購(gòu)買(mǎi)的產(chǎn)品的相關(guān)數(shù)據(jù)及計(jì)算收益信息

      預(yù)期收益=本金*預(yù)期收益率/100/12*limit



      [if !supportLists]3.2.4.4?[endif]步驟4:完成購(gòu)買(mǎi)操作

      將投資的金額與產(chǎn)品信息傳遞到服務(wù)器,在服務(wù)器端進(jìn)行操作,來(lái)完成購(gòu)買(mǎi)。

      修改帳戶信息,向product_account表中插入數(shù)據(jù)。注意:在操作前,要判斷當(dāng)前用戶是否登錄,要判斷帳戶的余額是否充足。

      1.向服務(wù)器發(fā)送我們的投資請(qǐng)求



      2.在服務(wù)器端完成操作

      因?yàn)槲覀冃枰薷腶ccount表中數(shù)據(jù),還需要向product_account表中插入數(shù)據(jù),它們是需要進(jìn)行事務(wù)控制的。




      [if !supportLists]3.2.5?[endif]帳戶中心-產(chǎn)品投資查詢

      [if !supportLists]3.2.5.1?[endif]步驟1:產(chǎn)品投資查詢分析

      對(duì)于產(chǎn)品投資查詢,我們主要是完成用戶資產(chǎn)的信息查詢。

      、

      我們要查詢的信息,包括當(dāng)前客戶的帳戶信息,購(gòu)買(mǎi)的理財(cái)產(chǎn)品信息。

      對(duì)于帳戶信息,我們要查詢account表。

      對(duì)于購(gòu)買(mǎi)的產(chǎn)品信息,包括product表 product_account表 customer表




      問(wèn)題:怎樣去完成查詢以上信息操作,查詢到信息后,怎樣響應(yīng)到瀏覽器端?

      關(guān)于帳戶信息可以從select * from account where cid=?就可以查詢到。

      表格中的數(shù)據(jù)要從product_account, customer,product表中查詢出來(lái)。




      服務(wù)器給我們返回的數(shù)據(jù)應(yīng)該是json類(lèi)型。

      JsonResult來(lái)封裝返回的數(shù)據(jù)就可以。JsonResult中定義了一個(gè)content對(duì)象,它是Object類(lèi)型。



      [if !supportLists]3.2.5.2?[endif]步驟2:前端向服務(wù)器發(fā)送請(qǐng)求來(lái)查詢投資信息



      Servlet中操作


      Service中操作


      [if !supportLists]3.2.5.3?[endif]步驟3在dao中查詢購(gòu)買(mǎi)的產(chǎn)品相關(guān)信息


      在service中將查詢的結(jié)果進(jìn)行了處理



      [if !supportLists]3.2.5.4?[endif]步驟4:在頁(yè)面上展示投資產(chǎn)品及帳戶相關(guān)信息


      [if !supportLists]3.2.5.5?[endif]步驟5:展示購(gòu)買(mǎi)理財(cái)產(chǎn)品是否到期,處理頁(yè)面上時(shí)間顯示問(wèn)題

      關(guān)于時(shí)間顯示問(wèn)題,在頁(yè)面上修改


      在頁(yè)面上展示當(dāng)前產(chǎn)品是否到期

      可以在服務(wù)器端完成,在ProductAccount類(lèi)中添加一個(gè)屬性。




      [if !supportLists]3.3?[endif]項(xiàng)目?jī)?yōu)化與增強(qiáng)

      [if !supportLists]3.3.1?[endif]監(jiān)聽(tīng)投資到期


      帳戶表中的interest它記錄的當(dāng)前用戶的總收益情況。

      做一個(gè)定時(shí)處理程序,在每天晚上0點(diǎn)來(lái)掃描投資信息,如果當(dāng)前投資到期了,將這次投資的收益添加到帳戶的interest上。會(huì)使用到Listener.



      具體功能實(shí)現(xiàn)



      [if !supportLists]3.3.2?[endif]架構(gòu)優(yōu)化

      [if !supportLists]3.3.2.1?[endif]Servlet優(yōu)化


      [if !supportLists]3.3.2.2?[endif]Service與dao獲取優(yōu)化

      使用工廠模式來(lái)完成優(yōu)化。結(jié)合著配置文件來(lái)減化操作。


      我們的思路:將關(guān)于service與dao的相關(guān)類(lèi)都配置在xml文件中,結(jié)合java中反射與工廠模式來(lái)完成service與dao的獲取。




      在使用dom4j是報(bào)這樣一錯(cuò),


      原因是dom4j與xpath語(yǔ)法結(jié)合時(shí),需要在單獨(dú)導(dǎo)入一個(gè)jar包



      在servlet中要使用service對(duì)象,而我們獲取bean.xml文件的路徑是通過(guò)ServletContext對(duì)象來(lái)獲取classes目錄


      在service中要獲取dao對(duì)象,而在service中獲取bean.xml文件的路徑


      [if !supportLists]3.3.3?[endif]Redis緩存優(yōu)化

      我們可以將產(chǎn)品信息保存到redis中。以后每一次查詢都從redis中獲取產(chǎn)品信息。

      不用每一次都與數(shù)據(jù)庫(kù)交互。

      我們可以將關(guān)于產(chǎn)品信息的json串存儲(chǔ)到redis中,以后從redis中獲取就可以。


      在查詢理財(cái)產(chǎn)品時(shí),先從redis中獲取,如果沒(méi)有在從數(shù)據(jù)庫(kù)中查詢出來(lái),在保存到redis中


      當(dāng)我們的產(chǎn)品修改了或添加了,就需要修改redis中的數(shù)據(jù)。


      [if !supportLists]第4章?[endif]項(xiàng)目部署

      [if !supportLists]4.1?[endif]克隆一份linux

      注意:關(guān)于克隆這份linux的網(wǎng)絡(luò)問(wèn)題。



      如果修改后還有問(wèn)題,將DEVICE=eth0修改為DEVICE=eth1

      重啟網(wǎng)絡(luò)服務(wù)service network restart



      [if !supportLists]4.2?[endif]將mysql數(shù)據(jù)庫(kù)導(dǎo)入,并生成war文件導(dǎo)入到tomcat中


      在開(kāi)發(fā)環(huán)境下導(dǎo)出我們的數(shù)據(jù)庫(kù)信息


      將p2p.sql文件內(nèi)容在linux服務(wù)器的mysql中執(zhí)行一下。



      [if !supportLists]4.2.1?[endif]關(guān)于項(xiàng)目導(dǎo)出成war文件

      1.c3p0連接池的配置信息需要修改


      2.所有的domain下的類(lèi)都要實(shí)現(xiàn)java.io.Serializable


      3.需要修改RedisUtils中的redis的服務(wù)器ip



      [if !supportLists]4.3?[endif]使用nginx搭建tomcat集群,并實(shí)現(xiàn)session共享

      [if !supportLists]4.3.1?[endif]配置nginx實(shí)現(xiàn)反向代理并實(shí)現(xiàn)負(fù)載均衡

      在nginx下的conf目錄 中有一個(gè)nginx.conf文件,修改這個(gè)文件



      [if !supportLists]4.3.2?[endif]實(shí)現(xiàn)session共享

      1.導(dǎo)入四個(gè)jar包到tomcat的lib下


      2.修改tomcat/conf/context.xml文件

      ?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
      【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
      平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

      相關(guān)閱讀更多精彩內(nèi)容

      • Lua 5.1 參考手冊(cè) by Roberto Ierusalimschy, Luiz Henrique de F...
        蘇黎九歌閱讀 14,264評(píng)論 0 38
      • [if !supportLists]1.1.1[endif]安裝環(huán)境 redis是C語(yǔ)言開(kāi)發(fā),安裝redis需要先...
        三萬(wàn)_chenbing閱讀 680評(píng)論 0 1
      • 1月1日,特別的日子特別的時(shí)刻一群積極進(jìn)取的小伙伴以及閨蜜相聚平安暉陽(yáng)部,感謝重陽(yáng)姐大愛(ài)邀約和大咖大頭教練大愛(ài)分享...
        蒙拉麗莎的微笑閱讀 374評(píng)論 0 0
      • 上次說(shuō)到了,現(xiàn)在的app多如牛毛,而安裝了太多應(yīng)用,手機(jī)會(huì)提示內(nèi)存不足。很多音樂(lè)的版權(quán)分屬于不同的播放器,如果一個(gè)...
        冷藏幻想閱讀 286評(píng)論 0 1
      • 我已入夢(mèng) 夢(mèng)里千帆逐波 渾渾噩噩的人生 無(wú)語(yǔ)向誰(shuí)訴說(shuō) 我已清醒 晨光優(yōu)柔灑落 坎坎坷坷的日子 重復(fù)不停的過(guò) 我已成...
        我是深海精靈閱讀 233評(píng)論 0 0

      友情鏈接更多精彩內(nèi)容