《Java Web程序設(shè)計基礎(chǔ)教程》課件第10章_第1頁
《Java Web程序設(shè)計基礎(chǔ)教程》課件第10章_第2頁
《Java Web程序設(shè)計基礎(chǔ)教程》課件第10章_第3頁
《Java Web程序設(shè)計基礎(chǔ)教程》課件第10章_第4頁
《Java Web程序設(shè)計基礎(chǔ)教程》課件第10章_第5頁
已閱讀5頁,還剩79頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第10章修?改?和?刪?除

10.1修改功能和刪除功能演示

10.2修改用戶信息查看界面

10.3修改UserBean的代碼

10.4修改功能中查詢信息的Servlet10.5修改信息的Servlet10.6刪除信息的Servlet10.7信息修改界面

10.8簡單事務(wù)處理

小結(jié)

習(xí)題10實訓(xùn)10:圖書信息修改和刪除

10.1修改功能和刪除功能演示

10.1.1功能描述

修改和刪除功能都是針對已有信息的,所以通常是在查詢到某些信息之后,在該查詢基礎(chǔ)之上完成修改和刪除功能。

網(wǎng)上書店應(yīng)用中的用戶管理,需要在查看用戶信息的時候,根據(jù)需要修改用戶信息或者刪除用戶信息,所以需要在用戶信息查看界面上添加修改功能和刪除功能的按鈕(或者超鏈接)。如果點擊“修改”按鈕,應(yīng)該跳轉(zhuǎn)到用戶信息修改界面,把當(dāng)前選擇的用戶信息顯示在輸入框中,然后根據(jù)需要對用戶信息進行修改,修改之后提交給服務(wù)器處理。

因為刪除之后不可恢復(fù),所以通常在點擊“刪除”按鈕之后應(yīng)該讓用戶確認(rèn)。如果用戶確實要刪除,則調(diào)用刪除功能;否則,取消刪除。

10.1.2運行效果

首先訪問用戶信息查看界面,在這個界面中有信息“修改”和“刪除”的按鈕,如圖10.1所示。

點擊“修改”按鈕之后進入到信息修改界面,如圖10.2所示。

圖10.1添加修改和刪除按鈕

圖10.2信息修改界面

用戶在這個界面上修改,修改之后提交給服務(wù)器,完成修改過程。之后轉(zhuǎn)向用戶信息查看界面并提示修改成功的信息,如圖10.3所示。

如果在信息查看界面上點擊“刪除”按鈕,則提示用戶是否真的刪除,如圖10.4所示。

圖10.3修改成功

圖10.4刪除提示

如果確定,則刪除,刪除之后轉(zhuǎn)向用戶信息查看界面,并提示用戶刪除成功的信息,如圖10.5所示。否則,取消刪除。

圖10.5刪除成功

10.1.3思路分析

根據(jù)上面的描述,首先需要修改信息查看界面。前面介紹的信息查看界面,只有用戶信息列表,需要在這個界面上添加“修改”和“刪除”按鈕,每一個用戶對應(yīng)一組按鈕,需要修改哪個用戶的信息或者刪除哪個用戶的信息,只需要點擊相應(yīng)用戶后面的按鈕即可。

不管是修改還是刪除用戶,都需要知道對哪個用戶進行操作,所以需要傳遞要操作的用戶ID,這是需要解決的一個問題。

當(dāng)修改用戶信息的時候,首先需要把用戶信息從數(shù)據(jù)庫中查詢出來,然后顯示到各種表單元素中,不能讓用戶重新輸入所有信息。這是需要解決的另外一個問題。

用戶信息修改完之后,提交給服務(wù)器,服務(wù)器完成信息的修改,這里需要編寫信息修改的方法。

當(dāng)點擊“刪除”按鈕的時候,要刪除用戶的信息,需要編寫用戶信息刪除的方法。

1.刪除功能

使用MVC模式,分別設(shè)計如下:

(1)?M,需要在UserBean中添加一個刪除用戶的方法,刪除時需要知道用戶的ID,所以刪除方法需要一個參數(shù),返回值是int類型,表示刪除是否成功,大于0表示成功。該方法可以采用下面的定義:

publicintdelete(Stringuserid)

(2)

V,包括兩個方面:

輸入,需要在用戶信息查看界面中的每個用戶后面添加一個“刪除”按鈕,需要傳遞相應(yīng)的用戶ID。

輸出,刪除之后可以跳轉(zhuǎn)到用戶信息查看界面,為了友好,應(yīng)該顯示修改成功與否的信息。

(3)?C,完成以下功能:

獲取要刪除的用戶ID。

調(diào)用UserBean的方法delete,完成刪除。

在request中保存提示信息:刪除成功或者失敗。

轉(zhuǎn)向用戶信息查看界面。

2.修改功能

在修改功能中包括兩個過程,先顯示要修改的用戶的信息,用戶根據(jù)需要進行修改,修改之后提交,服務(wù)器完成修改過程。使用MVC模式,設(shè)計如下:

(1)?M,需要在UserBean中添加兩個方法:

根據(jù)用戶ID查詢用戶信息的方法,參數(shù)是用戶ID,返回值是UserBean對象,方法的參考定義如下:

publicUserBeanfindUserById(Stringuserid)②

修改用戶信息的方法,返回值是修改的結(jié)果,1表示修改成功或者0表示失敗,方法的參考定義如下:

publicintupdate()

(2)?V,包括3個界面:

第一次輸入,需要在用戶信息查看界面中的每個用戶后面添加一個“修改”按鈕,需要傳遞相應(yīng)的用戶ID。

第一次輸出的界面,也就是第二次輸入的界面,該界面首先顯示要修改的用戶的信息,然后用戶在這個界面上修改,修改之后提交。

第二次輸出的界面,修改之后的界面,可以使用用戶信息查看界面,需要添加提示信息:修改成功或者修改失敗。

(3)?C,控制器包括兩個,即根據(jù)ID查找信息和修改信息。

根據(jù)ID查找信息的控制器:

●獲取要修改的用戶ID。

●調(diào)用業(yè)務(wù)方法findUserById,得到要修改的用戶對象。

●把得到的用戶對象保存到request中。

●返回修改用戶信息的界面。

修改信息的控制器:

●獲取要修改的用戶信息。

●調(diào)用UserBean的update方法,完成修改。

●在request中保存提示信息:修改成功或者修改失敗。

●轉(zhuǎn)向用戶信息查看界面。

10.2修改用戶信息查看界面

10.2.1添加功能按鈕

原來信息查看界面中顯示信息的代碼如下:

<tablealign=center>

<tr>

<th>用戶編號</th>

<th>用戶名</th>

<th>用戶類型</th>

<th>生日</th>

<th>學(xué)歷</th>

<th>地區(qū)</th>

<th>Email</th>

<th>地址</th>

</tr>

<c:forEachitems="${userlist}"var="user">

<tr>

<td>${user.userid}</td>

<td>${user.username}</td>

<td>

<c:iftest="${user.type==0}">普通用戶</c:if>

<c:iftest="${user.type==1}">管理員</c:if>

</td>

<td>${user.birthday}</td>

<td>${user.degree}</td>

<td>${user.local}</td>

<td>${user.email}</td>

<td>${user.address}</td>

</tr>

</c:forEach>

</table>需要在每一行后面添加一個“修改”按鈕和一個“刪除”按鈕,在代碼中一行對應(yīng)一個<tr>,所以“修改”按鈕和“刪除”按鈕應(yīng)該放在行開始標(biāo)志“<tr>”和行結(jié)束標(biāo)志“</tr>”內(nèi)部。

因為每一行都有一個“修改”按鈕和一個“刪除”按鈕,不同行之間的按鈕不應(yīng)該相互影響,每一行的“修改”按鈕和“刪除”按鈕對應(yīng)的處理文件也不相同,所以每一行就需要兩個單獨的表單(form),兩個form分別提交給updateFindUser和deleteUserServlet處理。

為每一行添加兩個表單之后的代碼如下:

<tablealign=center>

<tr>

<th>用戶編號</th>

<th>用戶名</th>

<th>用戶類型</th>

<th>生日</th>

<th>學(xué)歷</th>

<th>地區(qū)</th>

<th>Email</th>

<th>地址</th>

<th>修改</th>

<th>刪除</th>

</tr>

<c:forEachitems="${userlist}"var="user">

<tr>

<td>${user.userid}</td>

<td>${user.username}</td>

<td>

<c:iftest="${user.type==0}">普通用戶</c:if>

<c:iftest="${user.type==1}">管理員</c:if>

</td>

<td>${user.birthday}</td>

<td>${user.degree}</td>

<td>${user.local}</td>

<td>${user.email}</td>

<td>${user.address}</td>

<td>

<formaction="updateFindUser"method="post">

<inputtype="submit"value="修改">

</form>

</td>

<td>

<formaction="deleteUser"method="post">

<inputtype="submit"value="刪除">

</form>

</td>

</tr>

</c:forEach>

</table>10.2.2傳遞用戶ID

不管點擊“修改”按鈕還是“刪除”按鈕,都需要把當(dāng)前行的用戶ID傳遞給服務(wù)器,如何傳遞呢?這個信息不能修改,因為每一行對應(yīng)一個用戶,從而對應(yīng)一個“修改”按鈕和一個“刪除”按鈕。當(dāng)點擊某個按鈕的時候,它所對應(yīng)的用戶ID實際上已經(jīng)確定了,所以該信息不能讓用戶輸入。在前面介紹表單提交的時候,可以使用各種表單元素提交信息,但是這里的信息不需要用戶輸入,所以都不能使用。在HTML中提供了一個隱藏域可以完成這個任務(wù)。

隱藏域的基本語法格式如下:

<inputtype="hidden"name="變量名"value="變量值">

它與單行文本框的格式完全相同,type的值為hidden說明這個表單元素是一個隱藏域。單行文本框的值通常需要用戶輸入,但是隱藏域的值都是設(shè)定好的。因為隱藏域不是用于輸入的,而主要用于傳值。

如果要傳遞userid,可以使用下面的代碼:

<inputtype=“hidden”name=“userid”value=“${user.userid}”>

傳遞的參數(shù)名字是userid,通過表達式得到userid的值作為表單元素的值。

修改界面中form的信息,修改之后如下:

<td>

<formaction=“updateFindUser”method=“post”>

<inputtype=“submit”value=“修改”>

<inputtype="hidden"name="userid"value="${user.userid}">

</form>

</td>

<td>

<formaction="deleteUser"method="post">

<inputtype="hidden"name="userid"value="${user.userid}">

<inputtype="submit"value="刪除">

</form>

</td>

10.2.3信息刪除確認(rèn)

在點擊“刪除”按鈕的時候應(yīng)該能讓用戶確認(rèn),所以需修改“刪除”按鈕對應(yīng)的form表單的屬性,為form添加一個onSubmit事件,該事件將調(diào)用確認(rèn)窗口。如果用戶選擇“確定”,則確認(rèn)窗口返回true,這時候會提交表單;如果用戶選擇“取消”,則確認(rèn)窗口返回false,這時候會取消表單提交。代碼如下:

<formaction="deleteUser"method="post"

onSubmit="returnconfirm('真的要刪除該用戶嗎?');">

<inputtype="hidden"name="userid"value="${user.userid}">

<inputtype="submit"value="刪除">

</form>10.2.4添加提示信息

在刪除和修改之后都會跳轉(zhuǎn)到userlist.jsp界面,顯示提示信息。前面在介紹“添加用戶”功能的時候,也在userlist.jsp中添加了提示信息。實際上,現(xiàn)在需要的提示信息和前面的提示信息是相同的,所以不需要再編寫代碼,而可以直接使用原來的代碼,只要保證在request中存儲信息時所用的名字是“info”即可。

10.2.5完整代碼

修改后的完整代碼如下:

<%@pagecontentType="text/html;charset=gb2312"%>

<%@taglibprefix="c"uri="/jsp/jstl/core"prefix="c"%>

<scriptlanguage="javascript">

functioninit(){

alert("${info}");

}

<c:iftest="${!emptyinfo}">

window.onload=init;

</c:if>

</script>

<h2align=center>所有用戶信息<h2>

<fontsize=4>

共有${pageCount}頁,這是第${pageNo}頁。

<!--如果是第一頁,則不顯示超鏈接-->

<c:iftest="${pageNo==1}">

第一頁

上一頁

</c:if>

<!--如果不是第一頁,則顯示超鏈接-->

<c:iftest="${pageNo!=1}">

<ahref="findAllUser?pageNo=1">第一頁</a>

<ahref="findAllUser?pageNo=${pageNo-1}">上一頁</a>

</c:if>

<!--如果是最后一頁,則不顯示超鏈接-->

<c:iftest="${pageNo==pageCount}">

下一頁

最后一頁

</c:if>

<!--如果不是最后一頁,則顯示超鏈接-->

<c:iftest="${pageNo!=pageCount}">

<ahref="findAllUser?pageNo=${pageNo+1}">下一頁</a>

<ahref="findAllUser?pageNo=${pageCount}">最后一頁</a>

</c:if>

<formaction="findAllUser">

跳轉(zhuǎn)到<inputtype="text"name="pageNo">頁<inputtype="submit"value="跳轉(zhuǎn)">

</form>

</font>

<tablealign=center>

<tr>

<th>用戶編號</th>

<th>用戶名</th>

<th>用戶類型</th>

<th>生日</th>

<th>學(xué)歷</th>

<th>地區(qū)</th>

<th>Email</th>

<th>地址</th>

<th>修改</th>

<th>刪除</th>

</tr>

<c:forEachitems="${userlist}"var="user">

<tr>

<td>${user.userid}</td>

<td>${user.username}</td>

<td>

<c:iftest="${user.type==0}">普通用戶</c:if>

<c:iftest="${user.type==1}">管理員</c:if>

</td>

<td>${user.birthday}</td>

<td>${user.degree}</td>

<td>${user.local}</td>

<td>${user.email}</td>

<td>${user.address}</td>

<td>

<formaction="updateFindUser"method="post">

<inputtype="submit"value="修改">

<inputtype="hidden"name="userid"value="${user.userid}">

</form>

</td>

<td>

<formaction="deleteUser"method="post"

onSubmit="returnconfirm('真的要刪除該用戶嗎?');">

<inputtype="hidden"name="userid"value="${user.userid}">

<inputtype="submit"value="刪除">

</form>

</td>

</tr>

</c:forEach>

</table> 10.3修改UserBean的代碼

10.3.1添加根據(jù)ID查詢用戶信息的方法

該方法的完整代碼如下:

publicUserBeanfindUserById(Stringuserid)

{

booleanfind=false;

//連接對象

Connectioncon=null;

//結(jié)果集對象

ResultSetrs=null;

//創(chuàng)建DBBean對象

DBBeandb=newDBBean();

//查詢語句

StringBuffersql=newStringBuffer();

sql.append(“select*fromusertablewhereuserid=‘”);

sql.append(userid);

sql.append(“’”);

try

{

//獲取連接

con=db.getConnection();//執(zhí)行select語句,返回結(jié)果集對象

rs=db.executeQuery(sql.toString());

//指向結(jié)果集的第一條

if(rs.next()){

//獲取結(jié)果集中的信息

StringtmpUserid=rs.getString(1);

StringtmpUsername=rs.getString(2);

//進行編碼轉(zhuǎn)換

tmpUsername=newString(tmpUsername.getBytes("8859_1"));

StringtmpUserpass=rs.getString(3);

StringtmpType=rs.getString(4);

java.util.DatetmpBirthday=rs.getDate(5);

StringtmpDegree=rs.getString(6);

tmpDegree=newString(tmpDegree.getBytes("8859_1"));

StringtmpLocal=rs.getString(7);

tmpLocal=newString(tmpLocal.getBytes("8859_1"));

StringtmpEmail=rs.getString(8);

StringtmpAddress=rs.getString(9);

//進行編碼轉(zhuǎn)換

tmpAddress=newString(tmpAddress.getBytes("8859_1"));

StringtmpComment=rs.getString(10);

//創(chuàng)建用戶對象

UserBeanuser=newUserBean();

//根據(jù)獲取的用戶信息初始化用戶對象

user.setUserid(tmpUserid);

user.setUsername(tmpUsername);

user.setUserpass(tmpUserpass);

user.setType(tmpType);

user.setBirthday(tmpBirthday);

user.setDegree(tmpDegree); user.setLocal(tmpLocal);

user.setEmail(tmpEmail);

user.setAddress(tmpAddress);

user.setComment(tmpComment);

returnuser;

}

}catch(Exceptione)

{

System.out.println(e.toString());

}

finally

{

db.close();

}

//返回查找的結(jié)果

returnnull;

}

10.3.2添加修改信息的方法

該方法的完整代碼如下:

publicintupdate()throwsException

{

//連接對象

Connectioncon=null;

//創(chuàng)建DBBean對象

DBBeandb=newDBBean();

//添加語句,根據(jù)參數(shù)編寫動態(tài)的添加語句

StringBuffersql=newStringBuffer();

sql.append("updateusertableset");

sql.append("username='");

sql.append(username);//用戶名

sql.append("',userpass='");

sql.append(userpass);//口令

sql.append("',birthday='");

sql.append(newjava.sql.Date(birthday.getTime()));//生日

sql.append("',degree='");

sql.append(degree);//學(xué)歷

sql.append("',local='");

sql.append(local);//地區(qū)

sql.append("',email='");

sql.append(email);//email

sql.append("',address='");

sql.append(address);//地址

sql.append("',comment='");

sql.append(comment);//備注

sql.append("'whereuserid='");

sql.append(userid);

sql.append("'");

try

{

//獲取連接

con=db.getConnection();

//執(zhí)行插入語句

returndb.executeUpdate(sql.toString());

}catch(Exceptione)

{

}

finally

{

db.close();

}

return0;

}10.3.3添加信息刪除的方法

該方法的完整代碼如下:

publicintdelete(Stringuserid)throwsException

{

//連接對象

Connectioncon=null;

//創(chuàng)建DBBean對象

DBBeandb=newDBBean();

//刪除語句

StringBuffersql=newStringBuffer();

sql.append("deletefromusertablewhereuserid='");

sql.append(userid);

sql.append("'");

try

{

//獲取連接

con=db.getConnection();

//執(zhí)行刪除語句

returndb.executeUpdate(sql.toString());

}catch(Exceptione)

{

}

finally

{

db.close();

}

return0;

}

10.4修改功能中查詢信息的Servlet

在修改功能中,首先要顯示用戶的信息,然后再修改,所以第一步應(yīng)該先查詢用戶信息。查詢用戶信息的Servlet的基本功能如下:

(1)獲取要更新的用戶的ID。

(2)調(diào)用UserBean的findUserById方法,得到用戶信息:

●如果用戶不存在,就把提示信息保存在request中,跳轉(zhuǎn)到用戶信息查看界面。

●如果用戶存在,就把信息保存到request中,轉(zhuǎn)向信息修改界面。

參考代碼如下:

packagebookstore.servlet;

importjavax.servlet.*;

importjavax.servlet.http.*;

importjava.io.*;

importbookstore.bean.*;

publicclassUpdateFindUserServletextendsHttpServlet

{

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

throwsIOException,ServletException{

//獲取用戶提交的信息

Stringuserid=request.getParameter("userid");

//創(chuàng)建JavaBean對象

UserBeanub=newUserBean();

//轉(zhuǎn)向的文件

Stringforward;

//提示信息

Stringinfo=null;

UserBeanuser=ub.findUserById(userid);

if(user==null)

{

forward="findAllUser";

info="要修改的用戶不存在!";

//保存提示信息

request.setAttribute("info",info);

}else{

request.setAttribute("user",user);

forward="updateUser.jsp";

}

//定義跳轉(zhuǎn)文件

RequestDispatcherrd=request.getRequestDispatcher(forward);

//完成重定向

rd.forward(request,response);

}

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)

throwsIOException,ServletException{

doGet(request,response);

}

}

10.5修改信息的Servlet

修改用戶信息的Servlet的基本功能如下:

(1)獲取要修改的用戶的信息,并把這些信息封裝成User對象。

(2)調(diào)用UserBean的update方法,對信息進行修改。

(3)修改之后,轉(zhuǎn)向用戶信息查看界面。

參考代碼如下:

packagebookstore.servlet;

importjavax.servlet.*;

importjavax.servlet.http.*;

importjava.io.*;

importbookstore.bean.*;

importjava.util.*;

importjava.text.*;

publicclassUpdateUserServletextendsHttpServlet

{

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

throwsIOException,ServletException{

//獲取用戶提交的信息

Stringuserid=request.getParameter("userid");

Stringusername=request.getParameter("username");

Stringuserpass=request.getParameter("userpass");

Stringtype="1";

Stringbirthday=request.getParameter("birthday");

Stringdegree=request.getParameter("degree");

Stringlocal=request.getParameter("local");

Stringemail=request.getParameter("email");

Stringaddress=request.getParameter("address");

Stringcomment=request.getParameter("comment");

DateFormatdf=newSimpleDateFormat(“yyyy-MM-dd”);

DatedBirthday=null;

try{

dBirthday=df.parse(birthday);

}catch(Exceptione){}

//創(chuàng)建JavaBean對象

UserBeanuser=newUserBean();

//初始化

user.setUserid(userid);

user.setUsername(username);

user.setUserpass(userpass);

user.setType(type);

user.setBirthday(dBirthday);

user.setDegree(degree);

user.setLocal(local);

user.setEmail(email);

user.setAddress(address);

user.setComment(comment);

//提示信息

Stringinfo;

try{

if(user.update()>0){

info=“信息更新成功!”;

}else{

info=“信息更新失敗!”;

}

}catch(Exceptione){

info=“數(shù)據(jù)庫異常!”;

}

request.setAttribute("info",info);

//定義跳轉(zhuǎn)文件

RequestDispatcherrd=request.getRequestDispatcher("findAllUser");

//完成重定向

rd.forward(request,response);

}

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)

throwsIOException,ServletException{

doGet(request,response);

}

} 10.6刪除信息的Servlet

刪除用戶信息的Servlet的基本功能如下:

(1)獲取要刪除的用戶的ID。

(2)調(diào)用UserBean的delete方法刪除信息。

(3)刪除之后,轉(zhuǎn)向用戶信息查看界面。

參考代碼如下:

packagebookstore.servlet;

importjavax.servlet.*;

importjavax.servlet.http.*;

importjava.io.*;

importbookstore.bean.*;

publicclassDeleteUserServletextendsHttpServlet

{

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

throwsIOException,ServletException{

//獲取用戶提交的信息

Stringuserid=request.getParameter("userid");

//創(chuàng)建JavaBean對象

UserBeanuser=newUserBean();

//轉(zhuǎn)向的文件

Stringforward;

//提示信息

Stringinfo=null;

try{

if(user.delete(userid)>0)

{

info="刪除信息成功!";

}else{

info="刪除信息失敗!";

}

}catch(Exceptione){

info="數(shù)據(jù)庫異常!";

}

request.setAttribute("info",info);

//定義跳轉(zhuǎn)文件

RequestDispatcherrd=request.getRequestDispatcher("findAllUser");

//完成重定向

rd.forward(request,response);

}

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)

throwsIOException,ServletException{

doGet(request,response);

}

} 10.7信息修改界面

創(chuàng)建信息修改界面與創(chuàng)建注冊信息修改界面的代碼完全相同,所以這里不再給出。

10.8簡單事務(wù)處理

在數(shù)據(jù)庫應(yīng)用中,在完成某個功能的過程中可能會涉及多個操作,只有多個操作都完成的時候,該功能才算完成。例如從一個賬戶向另外一個賬戶轉(zhuǎn)賬,需要從一個賬戶上扣錢,向另外一個賬戶上加錢,涉及兩個更新操作,分別更新兩個賬戶的余額,只有兩個更新操作都完成的時候,轉(zhuǎn)賬功能才算完成。我們稱這樣的功能為事務(wù)。

溫馨提示

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

評論

0/150

提交評論