(完整版)JSP頁面的訪問控制_第1頁
(完整版)JSP頁面的訪問控制_第2頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、JSP頁面的訪問控制1.1.1 如何實(shí)現(xiàn)訪問控制如圖1.1和圖1.2所示是系統(tǒng)進(jìn)行訪問控制的兩種情形。在圖1.1中,用戶通過登錄頁面登錄網(wǎng)站,如果該用戶是已注冊(cè)用戶,系統(tǒng)會(huì)保存該用戶的登錄信息,并讓用戶進(jìn)入其欲訪問的頁面。在圖1.2中,用戶直接訪問網(wǎng)站的某個(gè)頁面,系統(tǒng)會(huì)去查詢是否保存有該用戶的登錄信息,如果有,則顯示該頁面的內(nèi)容,如果沒有,就轉(zhuǎn)入登錄 頁面,要求用戶登錄網(wǎng)站。進(jìn)入用戶登錄頁面用戶直接訪統(tǒng)是否保存了、問某個(gè)頁面用戶登錄信息/顯示該頁面內(nèi)容圖 1.2訪問控制流程(2)JSP為提供了一套會(huì)話跟蹤機(jī)制,該機(jī)制可以維持每個(gè)用戶的會(huì)話信息。也就是說, 使用會(huì)話跟蹤,可以為不同的用戶保存不同

2、的數(shù)據(jù)。1.1.2 什么是會(huì)話就Web開發(fā)來說,一個(gè)會(huì)話就是用戶通過瀏覽器與服務(wù)器之間進(jìn)行的一次通話,它 包含瀏覽器與服務(wù)器之間的多次請(qǐng)求、響應(yīng)過程。如圖1.3所示描述了瀏覽器與服務(wù)器的一次會(huì)話過程。當(dāng)用戶向服務(wù)器發(fā)岀第一次請(qǐng) 求時(shí),服務(wù)器會(huì)為該用戶創(chuàng)建唯一的會(huì)話,會(huì)話將一直延續(xù)到用戶訪問結(jié)束(瀏覽器 關(guān)閉,本次會(huì)話結(jié)束)。1.1訪問控制圖 1.1訪問控制流程(1)2 / 19圖 1.3一次會(huì)話過程JSP提供了一個(gè)可以在多個(gè)請(qǐng)求之間持續(xù)有效的會(huì)話對(duì)象session,session對(duì)象允許用戶存儲(chǔ)和提取會(huì)話狀態(tài)的信息。接下來,就來學(xué)習(xí)JSP內(nèi)置對(duì)象session。1.1.3 JSP 內(nèi)置對(duì)象 s

3、ession在JSP中,提供了一個(gè)內(nèi)置對(duì)象session,session對(duì)象用來存儲(chǔ)有關(guān)用戶會(huì)話的所有信息。session對(duì)象的常用方法如下:?void setAttribute(String key,Object value):以鍵/值的方式,將一個(gè)對(duì)象的值存放到session中去。例如:session.setAttribute(name, admin);就是把字符串a(chǎn)dmin存放到session中去,它對(duì)應(yīng)的鍵是name。Object getAttribute(String key):根據(jù)鍵去獲取session中存放的對(duì)象的值。例如:String name = (String) sessi

4、on.getAttribute(name);就是通過名稱為name的鍵獲取session中存放的對(duì)象的值。在JSP中,訪問控制就是基于session對(duì)象來完成的,接下來,就使用session為新聞發(fā)布系統(tǒng)增加訪問控制。1.1.4 為新聞發(fā)布系統(tǒng)增加訪問控制現(xiàn)在升級(jí)新聞發(fā)布系統(tǒng),增加訪問控制功能,要求系統(tǒng)提供用戶登錄頁面,所有用戶 必須登錄之后,才能訪問新聞發(fā)布系統(tǒng)。訪問控制流程如圖1.4所示。請(qǐng)求 1響應(yīng) 1請(qǐng)求 2n響應(yīng) 2nJSP內(nèi)置對(duì)象瀏覽器瀏覽器3 / 19提取到用戶信息.、-新聞發(fā)布系統(tǒng)首頁面(in dex.jsp)1.從session中提取該用戶信息2.如果用戶信息存在,顯示首頁內(nèi)

5、容3.如果用戶信息不存在,跳轉(zhuǎn)到登錄頁面圖 1.4 新聞發(fā)布系統(tǒng)的訪問控制流程根據(jù)新聞發(fā)布系統(tǒng)的訪問控制流程,至少要完成如下幾個(gè)步驟。(1)在news數(shù)據(jù)庫中創(chuàng)建表userinfo,負(fù)責(zé)存儲(chǔ)用戶名、密碼。(2)創(chuàng)建類(User.java),負(fù)責(zé)存儲(chǔ)登錄用戶的信息,如用戶名、密碼。(3)創(chuàng)建登錄頁面(login.html)。(4)創(chuàng)建登錄處理頁面(login.jsp)。(5)在新聞發(fā)布系統(tǒng)首頁面中加入登錄驗(yàn)證。下面,就逐步完成這項(xiàng)升級(jí)任務(wù)。首先,在news數(shù)據(jù)庫中創(chuàng)建表userinfo,表結(jié)構(gòu)見表1.1。表 1.1 數(shù)據(jù)表 userinfo字段名稱字段說明數(shù)據(jù)類型大小loginName用戶名稱v

6、archar50password密碼varchar50接下來,創(chuàng)建類User.java,用來存儲(chǔ)已登錄用戶的用戶名和密碼,代碼實(shí)現(xiàn)如示例1所示。package s2.java.web.sg1.entity;public class User private String name;”用鮎歪碼:廠査錄I至&(1-一 mIJ iHuttfiti., ilDOKsessi on中無法登錄處理頁面(logi n.jsp)21.獲得登錄信息2.查詢數(shù)據(jù)庫,判斷該用戶是否注冊(cè)3.如果該用戶已注冊(cè),在session中保存該用戶的登錄信息,并且跳轉(zhuǎn)到新聞發(fā)布系統(tǒng)的首頁面/用戶名/密碼用戶畫 -丄文件叩

7、 窯 査凹收rtc實(shí)口”J? 1回用円1李,zi用戶已注冊(cè)4 / 19private String password;5/ 19/* 構(gòu)造函數(shù)* param name 用戶名* param password 密碼*/public User(String name, String password) = name;this.password = password;* 返回用戶名*/public String getName() return name;* 返回密碼*/public String getPassword() return password;* 設(shè)定用戶名* pa

8、ram name */public void setName(String name) = name;/* 設(shè)定密碼* param password */public void setPassword(String password) this.password = password;登錄頁面login.html非常容易編寫,代碼實(shí)現(xiàn)如示例示例2 用戶登錄 vscript language =JavaScriptfunction loginSubmit()if(form1.l oginName.value =null | form1.loginName.value=)2所示

9、。6 / 19alert(請(qǐng)?zhí)顚懹脩裘?);return false;if(form1.password.value =null | form1.password.value=)alert(請(qǐng)?zhí)顚懨艽a!);return false;return true;vform method=POST name=form1 action=login.jsp用戶名:vinput type=text name=loginName size=20密   碼:vinput type=password name=password size=20vinput type=submit valued 錄

10、name=submit onclick=return loginSubmit();vinput type=reset value= 重置name=resetv/pv/formv/bodyv/html要在登錄處理頁面中進(jìn)行一系列的邏輯處理:首先查詢數(shù)據(jù)庫判斷該用戶是否已注冊(cè),接著在session中保存已登錄用戶的信息,代碼實(shí)現(xiàn)如示例3所示。示例3v%page language=java contentType=text/html;charset=GBK% v% page import=java.sql.*%v% page import=s2.java.web.sg1.ConnectionMana

11、ger%v% page import=s2.java.web.sg1.entity.User%在新聞發(fā)布系統(tǒng)首頁面中加入登錄驗(yàn)證。此時(shí)要完成的任務(wù)是:從session中提取用 戶的信息,如果用戶信息存在,顯示首頁內(nèi)容;如果用戶信息不存在,跳轉(zhuǎn)到登錄頁面。已經(jīng)完成了圖1.1所示的訪問控制流程。但是如果此時(shí)用戶直接在瀏覽器地址欄中輸 入新聞發(fā)布系統(tǒng)首頁面的地址, 還是能夠不受登錄限制而訪問成功的。 接下來要完成 的就是圖1.2所示的訪問控制流程。具體代碼實(shí)現(xiàn)如示例4所示。示例4v% page language=java contentType=text/html; charset=GBK%v% p

12、age import=s2.java.web.sg1.entity.User% 新聞發(fā)布系統(tǒng) vFRAMESET rows=20%,80% cols=*vFRAME src=top.jsp name=topFrame scrolling=NO marginwidth=0 marginheight=0 vFRAMESET rows=*cols=25%,75%vFRAME src=left.jsp name=leftFrame scrolling=yes marginwidth=0marginheight=0vFRAME src=welcome.jsp name=mainFrame scrolli

13、ng=yes marginwidth=0 marginheight=0v/FRAMESETv/FRAMESETvnoframesv/noframesv/html至此為止,新聞發(fā)布系統(tǒng)的訪問控制已經(jīng)基本實(shí)現(xiàn)了。還需要驗(yàn)證一下訪問控制的效果,具體步驟可分為如下幾步。(1)直接在瀏覽器地址欄中輸入U(xiǎn)RL,訪問系統(tǒng)首頁面。(2)通過登錄頁面進(jìn)入系統(tǒng)首頁面。(3)重新開啟一個(gè)瀏覽器窗口,直接訪問系統(tǒng)首頁面。按照上述步驟運(yùn)行一下,看看每個(gè)步驟會(huì)發(fā)生什么樣的結(jié)果,并思考一下為什么會(huì)產(chǎn)生這樣的結(jié)果?,F(xiàn)在,來分析一下。如果直接在瀏覽器地址欄中輸入U(xiǎn)RL,訪問系統(tǒng)首頁面,那么系統(tǒng)會(huì)跳入登錄頁面,提示用戶進(jìn)行登錄。

14、這個(gè)原因很簡(jiǎn)單,因?yàn)樵谙到y(tǒng)首頁面中加入了登錄驗(yàn)證。如果通過登錄頁面進(jìn)入系統(tǒng)首頁面,那么只要是已注冊(cè)用戶,都可以正常進(jìn)入。這個(gè)可以通過登錄處理頁面的代碼(示例3)得到解釋。如果重新開啟一個(gè)瀏覽器窗口,直接訪問系統(tǒng)首頁面,那么不管你在其他窗口中是否9 / 19定跳轉(zhuǎn)進(jìn)入登錄頁面1.1.5 in elude 指令在新聞發(fā)布系統(tǒng)中,除了首頁面,還有許多二級(jí)頁面,同樣要求只有登錄用戶才能夠訪問。那么現(xiàn)在就有一個(gè)問題需要解決,看下面的問題:如果要為多個(gè)頁面添加登錄驗(yàn)證,有沒有辦法避免重復(fù)代碼的岀現(xiàn)?JSP為提供了文件引用指令in elude??梢詫⒁恍┕残缘膬?nèi)容寫入一個(gè)單獨(dú)的文件中,然后通過in elud

15、e指令引用該文件,從而緩解代碼的冗余問題,并且修改起來也更加 方便,即對(duì)這些共性內(nèi)容只需要修改那個(gè)獨(dú)立的文件即可。首先,需要?jiǎng)?chuàng)建登錄驗(yàn)證文件checklogin.jsp,代碼實(shí)現(xiàn)如示例5所示。示例5v% page import=s2.java.web.sg1.entity.User%示例5的代碼與示例4中進(jìn)行登錄驗(yàn)證的那部分代碼一模一樣。有了這個(gè)獨(dú)立的文件,只需在系統(tǒng)首頁面和其他二級(jí)頁面中引用該文件就可以了,代碼實(shí)現(xiàn)如示例6所示。示例6 新聞發(fā)布系統(tǒng) 登錄,你進(jìn)入的session對(duì)象都與瀏覽器一一對(duì)應(yīng),也就是說,重新開啟一個(gè)瀏覽器窗口,相當(dāng)于重新創(chuàng)建一個(gè)session對(duì)象,在其他瀏覽器窗口保存

16、的登錄信息與新的瀏覽器窗口完全無關(guān),所以系統(tǒng)會(huì)判定尚未登錄,必10 / 19vFRAMESET rows=20%,80% cols=*vFRAME src=top.jsp name=topFrame scrolling=NO marginwidth=0 marginheight=0v/noframes1.2.1 為新聞發(fā)布系統(tǒng)增加已訪問人數(shù)統(tǒng)計(jì)功能升級(jí)新聞發(fā)布系統(tǒng),增加已訪問人數(shù)統(tǒng)計(jì)功能,具體要求如下。左導(dǎo)航頁面中增加一個(gè)超鏈接已訪問人數(shù)統(tǒng)計(jì) ”,單擊該超鏈接后,進(jìn)入已訪問人數(shù)統(tǒng)計(jì)頁面,該頁面顯示已訪問人數(shù),以及訪問者的登錄名稱,如圖1.5所示。為了實(shí)現(xiàn)這一功能,需要完成以下工作。(1)創(chuàng)建登

17、錄頁面(logi n2.html)。(2)創(chuàng)建登錄處理頁面(log in 2.jsp),把已登錄用戶的信息保存在一個(gè)全局范圍內(nèi)(3)在左導(dǎo)航頁面(left.jsp)中加入超鏈接,鏈接至已訪問人數(shù)統(tǒng)計(jì)頁面。1.2已訪問人數(shù)統(tǒng)計(jì)11 / 19(4)創(chuàng)建已訪問人數(shù)統(tǒng)計(jì)頁面(showAIILoginedUsers.jsp),把已登錄用戶的信息從全 局范圍內(nèi)取出來。下面,就逐步完成這項(xiàng)升級(jí)任務(wù)。首先,創(chuàng)建登錄頁面login2.html,這個(gè)登錄頁面與示例2中的login.html非常相似,只需把form表單的提交地點(diǎn)改為log in 2.jsp就可以了。接著,進(jìn)入一個(gè)關(guān)鍵的環(huán)節(jié),創(chuàng)建登錄處理頁面log

18、in 2.jsp。代碼實(shí)現(xiàn)如示例7所示。示例7v% page import=java.sql.*%示例7同樣實(shí)現(xiàn)了訪問控制功能,除此之外,示例7的粗體部分則是為了實(shí)現(xiàn)已訪問人數(shù)統(tǒng)計(jì)的功能,這段代碼的主要用途是把已登錄用戶的信息存入一個(gè)集合中,該集合在全局范圍內(nèi)有效。其中使用到了一個(gè)JSP內(nèi)置對(duì)象application,它類似于系統(tǒng)的全局變量,用于實(shí)現(xiàn)用戶之間的數(shù)據(jù)共享。稍后將詳細(xì)介紹這個(gè)內(nèi)置對(duì)象,此處了解 其基本用途就可以了。接下來的工作較為簡(jiǎn)單,就是在左導(dǎo)航頁面(left.jsp)中加入超鏈接,鏈接至已訪問人數(shù)統(tǒng)計(jì)頁面,代碼實(shí)現(xiàn)如示例8所示。示例8v% page language=java

19、contentType=text/html; charset=GBK%vlink href=./CSS/style-1.css rel=stylesheet type=text/cssvBODY BGCOLOR=#E8EDEEvbr新聞發(fā)布后臺(tái)管理 一級(jí)標(biāo)題發(fā)布 二級(jí)標(biāo)題及文件位置發(fā)布 已訪問人數(shù)統(tǒng)計(jì) 最后,要?jiǎng)?chuàng)建已訪問人數(shù)統(tǒng)計(jì)頁面(showAIILoginedUsers.jsp),把已登錄用戶的信息從全局范圍內(nèi)取岀來,并逐行顯示,頁面效果如圖1.5所示。代碼實(shí)現(xiàn)如示例9所示。示例9v% page language=java pageEncoding=GBK%v% page import=s2

20、.java.web.sg1.entity.User%13 / 19vbr目前,有人已經(jīng)訪問過本網(wǎng)站!vbr訪問者的登錄名稱分別是:%for (int i = 0; i loginedUsers.size(); i+) User logineduser = (User) loginedUsers.get(i);out.print(logineduser.getName();out.print();%v/pv/html至此為止,新聞發(fā)布系統(tǒng)的已訪問人數(shù)統(tǒng)計(jì)功能已經(jīng)完整實(shí)現(xiàn)了。還需要驗(yàn)證一下已訪問人數(shù)統(tǒng)計(jì)的效果,具體步驟可分為如下幾步。(1)通過登錄頁面進(jìn)入系統(tǒng)首頁面,查看已訪問人數(shù)統(tǒng)計(jì)。(2)重新

21、開啟一個(gè)瀏覽器窗口,使用不同的用戶登錄進(jìn)入首頁面,查看已訪問人數(shù)統(tǒng)計(jì)??纯疵總€(gè)步驟會(huì)發(fā)生什么樣的結(jié)果,并思考一下為什么會(huì)產(chǎn)生這樣的結(jié)果?,F(xiàn)在,來分析一下。如果用戶通過登錄頁面進(jìn)入系統(tǒng),那么登錄處理頁面會(huì)將該用戶信息存放入訪問者列表中,此時(shí)已訪問人數(shù)一定會(huì)在原有基礎(chǔ)上自動(dòng)加1,并在頁面上顯示岀該用戶的信息。如果重新開啟一個(gè)瀏覽器窗口,使用不同的用戶登錄進(jìn)入首頁面,那么已訪問人數(shù)依然會(huì)在原有基礎(chǔ)上自動(dòng)加1,并在頁面上顯示岀這個(gè)用戶的信息。這是因?yàn)椋核械囊言L問用戶的信息都存放在全局范圍內(nèi),與瀏覽器窗口無關(guān),這一點(diǎn)一定要同session按照上述步驟運(yùn)行一下,14 / 19區(qū)分開來。1.2.2 JSP

22、 內(nèi)置對(duì)象 application前面已經(jīng)提到過,application是一個(gè)JSP的內(nèi)置對(duì)象,它類似于系統(tǒng)的全局變量,用于實(shí)現(xiàn)用戶之間的數(shù)據(jù)共享。applicati on對(duì)象的常用方法如下所示。? void setAttribute(String key,Object value):以鍵/值的方式,將一個(gè)對(duì)象的值存放到application中。例如,application.setAttribute(LOGINED_USER, newArrayList();就是把一個(gè)ArrayList對(duì)象存放到application中去, 它對(duì)應(yīng)的鍵是LOGINED_USER。? Object getAttr

23、ibute(String key):根據(jù)鍵去獲取application中存放對(duì)象的值。例如,如下代碼段就是通過名稱為L(zhǎng)OGINED_USER的鍵獲取applicatio n中存放的對(duì)象的值。if (application.getAttribute(LOGINED_USER) != null) List loginedUsers = (List) application.getAttribute(LOGINED_USER);至此,JSP的幾個(gè)常用的內(nèi)置對(duì)象都已經(jīng)介紹給了。下面通過表1.2對(duì)這些內(nèi)置對(duì)象進(jìn)行一下簡(jiǎn)要的總結(jié)。表 1.2 JSP 的常用內(nèi)置對(duì)象內(nèi)置對(duì)象名稱說明out 對(duì)象用于向客戶端輸

24、出數(shù)據(jù)request 對(duì)象主要用于客戶端的請(qǐng)求處理response 對(duì)象用于響應(yīng)客戶請(qǐng)求并向客戶端輸出信息session 對(duì)象用來存儲(chǔ)有關(guān)用戶會(huì)話的所有信息15 / 19?在新聞發(fā)布系統(tǒng)的前臺(tái)首頁面上,顯示所有新聞一級(jí)標(biāo)題。?為所有新聞一級(jí)標(biāo)題設(shè)置超鏈接,單擊后,顯示下屬的所有新聞二級(jí)標(biāo)題。具體做法可以分解為如下幾個(gè)步驟。(1)使用表格把前臺(tái)首頁面分為三塊:上欄、左下欄、右下欄。(2)上欄顯示圖片。(3)左下欄顯示新聞一級(jí)標(biāo)題, 提取到一個(gè)單獨(dú)的文件showFirstTitle.jsp中。application 對(duì)象類似于系統(tǒng)的全局變量,用于實(shí)現(xiàn)用戶之間的數(shù)據(jù)共享.1.3分級(jí)瀏覽新聞發(fā)布系統(tǒng)的

25、分級(jí)瀏覽屬于新聞發(fā)布系統(tǒng)的前端頁面,聞。接下來,就一起實(shí)現(xiàn)新聞的分級(jí)瀏覽功能。提供給一般用戶瀏覽各級(jí)新1.3.1 創(chuàng)建前臺(tái)首頁面新聞分級(jí)瀏覽功能的頁面效果如圖1.6所示,具體要求如下圖 1.6新聞發(fā)布系統(tǒng)的分級(jí)瀏覽session 對(duì)象用來存儲(chǔ)有關(guān)用戶會(huì)話的所有信息16 / 19(4)右下欄顯示新聞二級(jí)標(biāo)題, 提取到一個(gè)單獨(dú)的文件showSecondTitle.jsp中17 / 19(5)使用in elude指令引入這兩個(gè)文件。前臺(tái)首頁面(newspre.jsp)的代碼實(shí)現(xiàn)如示例10所示。示例10新聞發(fā)布系統(tǒng) 1.3.2 完成新聞發(fā)布系統(tǒng)的一級(jí)新聞瀏覽功能下面要完成的就是新聞一級(jí)標(biāo)題的瀏覽功能。

26、除了逐條逐行顯示新聞一級(jí)標(biāo)題以外,還要為新聞一級(jí)標(biāo)題設(shè)置超鏈接,并在超鏈接中傳遞參數(shù):新聞一級(jí)標(biāo)題的便單擊后能夠根據(jù)新聞一級(jí)標(biāo)題ID顯示下屬的所有新聞二級(jí)標(biāo)題。創(chuàng)建新聞一級(jí)標(biāo)題的瀏覽頁面(showFirstTitle.jsp),代碼實(shí)現(xiàn)如示例11所示。ID,以18 / 19示例11v%page language=java contentType=text/html;charset=GBK% 新聞分類 %/從數(shù)據(jù)庫中獲取所有新聞一級(jí)標(biāo)題,并逐行顯示FirstLeveTitleDbOpreation first = new FirstLeveTitleDbOpreation();List list

27、1 = first.getAIIFirstLevelTitleList();if (list1!=null & list1.size() != 0) for (int i = 0; i 133 完成新聞發(fā)布系統(tǒng)的二級(jí)新聞瀏覽功能在完成新聞二級(jí)標(biāo)題的瀏覽功能之前,首先要在類Seco ndLevelTitleDbOpreation中添19 / 19加方法getSeco ndByFirst(),用來根據(jù)新聞一級(jí)標(biāo)題的代碼實(shí)現(xiàn)如示例12所示。示例12package s2.java.web.sg15;import java.sql.Connection;import java.sql.Prepa

28、redStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;public class SecondLevelTitleDbOpreation /*根據(jù)新聞一級(jí)標(biāo)題獲取下屬所有的新聞二級(jí)標(biāo)題 * param int 新聞一級(jí)標(biāo)題的 ID * returnArrayList 新聞二級(jí)標(biāo)題的集合 */public List getSecondByFirst(int parentTitleId) List list = new ArrayList();Connection dbConnection = null;PreparedStatement pStatement = null;ResultSet res = null;try dbConnection = ConnectionManager.getConnection();Strin

溫馨提示

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

評(píng)論

0/150

提交評(píng)論