web_ajax綜合練習(xí)

Javaweb-綜合練習(xí)

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

后臺管理p2p_management

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

前臺管理p2p_home

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

帳戶中心產(chǎn)品查詢帳戶信息查詢產(chǎn)品購買


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

新的知識點(diǎn):

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

2. Javamail

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

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

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

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


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


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

五張表

1. user表佑女,它是后臺用戶表

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

3. account表 客戶帳戶表

4. product_account客戶購買產(chǎn)品表

5. customer客戶表


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

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

[if !supportLists]3.1.1?[endif]簡單登錄與退出

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

登錄頁面login.html

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


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


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


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

1.先獲取username,password

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

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

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


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



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


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

可以使用filter來完成操作



注意:上面的filter配置它只能對REQUEST請求攔截,我們也需要對FORWARD攔截



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

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


2.退出操作

我們退出時(shí)空凸,一定要將session銷毀诉位,在將頁面關(guān)閉弟头。

我使用ajax操作來完成。

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

步驟2:修改home.jsp頁面

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

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

關(guān)于產(chǎn)品信息的查詢稚瘾,我們使用ajax來完成操作,并且沒有分頁砂沛。

思路:

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

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

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

[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中完成頁面加載時(shí)向服務(wù)器發(fā)送請求吏夯,獲取產(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ù),展示在頁面上

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


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


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

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

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


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

1.修改home.jsp頁面上的按鈕

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ān)于jquery插件钉跷。



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

使用beanutils來完成請求參數(shù)封裝

1.導(dǎo)入jar包


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


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

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

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


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

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

Servlet


Service


Dao


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


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

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

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

給編輯添加連接


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


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



注意:要對添加操作中的彈窗進(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頁面上顯示查詢到的產(chǎn)品信息

對每一個(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]用戶管理-注冊操作

注冊操作它不僅是添加客戶信息幻赚,還要在注冊時(shí),為客戶生成一個(gè)帳戶臊旭。簡單說落恼,我們在進(jìn)行客戶注冊操作時(shí),要insert兩條記錄,一條是customer表中添加數(shù)據(jù)离熏,代表的是客戶信息佳谦,還需要向account表中插入數(shù)據(jù),當(dāng)創(chuàng)建一個(gè)客戶時(shí)滋戳,也會為其生成一條帳戶信息钻蔑。

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

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

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

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



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

注意:注冊時(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類型的返回結(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àn)證碼

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


在login.html頁面上添加


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



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

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



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

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


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



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


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


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

在登錄程序中添加一段來判斷是否是郵箱


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



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

Java加密


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

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

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

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


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

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


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


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


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

4.在頁面上處理帳戶信息顯示

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



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

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

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

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


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

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

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


在space.js文件中


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




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


瀏覽器端處理


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

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


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


[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.

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





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

產(chǎn)品購買禁荸,我們首先要對產(chǎn)品進(jìn)行查詢右蒲。我們在p2p_home中要查詢產(chǎn)品信息,在p2p_management工程中已經(jīng)提供了產(chǎn)品的crud操作赶熟,會使用跨域來完成數(shù)據(jù)查詢瑰妄。可以使用jquery提供的getJson操作

對于產(chǎn)品的購買映砖,我們怎樣操作?

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

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

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


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

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


在p2p_management的ProductServlet的findAll方法中修改



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

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

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



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


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



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

      1.點(diǎn)擊我要購買時(shí)在頁頁面上展示產(chǎn)品信息



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

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



      [if !supportLists]3.2.4.4?[endif]步驟4:完成購買操作

      將投資的金額與產(chǎn)品信息傳遞到服務(wù)器蜈七,在服務(wù)器端進(jìn)行操作,來完成購買莫矗。

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

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



      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)品投資查詢分析

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

      伊诵、

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

      對于帳戶信息,我們要查詢account表歉提。

      對于購買的產(chǎn)品信息笛坦,包括product表 product_account表 customer表




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

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

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




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

      JsonResult來封裝返回的數(shù)據(jù)就可以。JsonResult中定義了一個(gè)content對象悼尾,它是Object類型柿扣。



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



      Servlet中操作


      Service中操作


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


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



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


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

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


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

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




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

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


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

      做一個(gè)定時(shí)處理程序析桥,在每天晚上0點(diǎn)來掃描投資信息司草,如果當(dāng)前投資到期了,將這次投資的收益添加到帳戶的interest上泡仗。會使用到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)化

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


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




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


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



      在servlet中要使用service對象辣辫,而我們獲取bean.xml文件的路徑是通過ServletContext對象來獲取classes目錄


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


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

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

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

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


      在查詢理財(cái)產(chǎn)品時(shí),先從redis中獲取,如果沒有在從數(shù)據(jù)庫中查詢出來畴嘶,在保存到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ò)問題窗悯。



      如果修改后還有問題区匣,將DEVICE=eth0修改為DEVICE=eth1

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



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


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


      將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下的類都要實(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)容合作請聯(lián)系作者
      • 序言:七十年代末欺旧,一起剝皮案震驚了整個(gè)濱河市姑丑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌辞友,老刑警劉巖栅哀,帶你破解...
        沈念sama閱讀 206,311評論 6 481
      • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異踏枣,居然都是意外死亡昌屉,警方通過查閱死者的電腦和手機(jī)钙蒙,發(fā)現(xiàn)死者居然都...
        沈念sama閱讀 88,339評論 2 382
      • 文/潘曉璐 我一進(jìn)店門茵瀑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人躬厌,你說我怎么就攤上這事马昨。” “怎么了扛施?”我有些...
        開封第一講書人閱讀 152,671評論 0 342
      • 文/不壞的土叔 我叫張陵鸿捧,是天一觀的道長。 經(jīng)常有香客問我疙渣,道長匙奴,這世上最難降的妖魔是什么? 我笑而不...
        開封第一講書人閱讀 55,252評論 1 279
      • 正文 為了忘掉前任妄荔,我火速辦了婚禮泼菌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘啦租。我一直安慰自己哗伯,他們只是感情好,可當(dāng)我...
        茶點(diǎn)故事閱讀 64,253評論 5 371
      • 文/花漫 我一把揭開白布篷角。 她就那樣靜靜地躺著焊刹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上虐块,一...
        開封第一講書人閱讀 49,031評論 1 285
      • 那天俩滥,我揣著相機(jī)與錄音,去河邊找鬼贺奠。 笑死举农,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的敞嗡。 我是一名探鬼主播颁糟,決...
        沈念sama閱讀 38,340評論 3 399
      • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼喉悴!你這毒婦竟也來了棱貌?” 一聲冷哼從身側(cè)響起,我...
        開封第一講書人閱讀 36,973評論 0 259
      • 序言:老撾萬榮一對情侶失蹤箕肃,失蹤者是張志新(化名)和其女友劉穎婚脱,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體勺像,經(jīng)...
        沈念sama閱讀 43,466評論 1 300
      • 正文 獨(dú)居荒郊野嶺守林人離奇死亡障贸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
        茶點(diǎn)故事閱讀 35,937評論 2 323
      • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了吟宦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片篮洁。...
        茶點(diǎn)故事閱讀 38,039評論 1 333
      • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖殃姓,靈堂內(nèi)的尸體忽然破棺而出袁波,到底是詐尸還是另有隱情,我是刑警寧澤蜗侈,帶...
        沈念sama閱讀 33,701評論 4 323
      • 正文 年R本政府宣布篷牌,位于F島的核電站,受9級特大地震影響踏幻,放射性物質(zhì)發(fā)生泄漏枷颊。R本人自食惡果不足惜,卻給世界環(huán)境...
        茶點(diǎn)故事閱讀 39,254評論 3 307
      • 文/蒙蒙 一该面、第九天 我趴在偏房一處隱蔽的房頂上張望夭苗。 院中可真熱鬧,春花似錦吆倦、人聲如沸听诸。這莊子的主人今日做“春日...
        開封第一講書人閱讀 30,259評論 0 19
      • 文/蒼蘭香墨 我抬頭看了看天上的太陽晌梨。三九已至桥嗤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間仔蝌,已是汗流浹背泛领。 一陣腳步聲響...
        開封第一講書人閱讀 31,485評論 1 262
      • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留敛惊,地道東北人渊鞋。 一個(gè)月前我還...
        沈念sama閱讀 45,497評論 2 354
      • 正文 我出身青樓,卻偏偏與公主長得像瞧挤,于是被迫代替她去往敵國和親锡宋。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
        茶點(diǎn)故事閱讀 42,786評論 2 345

      推薦閱讀更多精彩內(nèi)容

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