版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
郑州轻工业学院实训报告实训名称:基于MVC模式的个人信息管理系统姓名:院(系):软件学院专业班级:软件工程(测试技术)10-01班学号:541013110107指导教师:张志峰、刘育熙、李璞、范乃梅、王振飞成绩:时间:2012年6月18日至2012年6月29日1.实训目的作为检验与提升学习能力的途径,课程实训是学习程序开发与数据库设计与开发不可缺少的环节,它可以使学生将理论应用于实践,将所学知识与实际相结合,加深对所学知识的理解和应用。学完此门课程以后,能使用jsp与数据库开发具有动态功能的各种网站与系统。今天我所介绍的是实训期间所做的个人信息管理系统,运用servlet+javaBean+jsp的mvc模式,在与mySql数据库的联合下完美的实现了个人信息的管理。通过本次实训,可以检验一下本学期同学们对JSP编程的学习情况,让本学期学到的JSP程序设计知识得以用于实施,理论联系实际,增进同学们对JSP的理解和运用,为大三对其他编程语言的学习提供便利。同时通过此次实训培养同学们的在具体工作上的一种工作态度和精神以及动手能力等。2、实训内容2.1项目分析在日常办公中的许多常用数据,比如朋友电话、邮件地址、日程安排、日常记事都可以用此系统进行管理。个人信息管理系统可以置于握在手掌上的数字助理器,提供电子名片、便条、行程管理等功能。本实训通过B/S设计,可以发布到网上,用户可以随时存取个人信息。用户可以在系统中任意添加、修改、删除个人数据,包括个人的基本信息、个人通讯录、日程安排、个人文件管理。要实现的功能包括四个方面:(1)个人基本信息管理模块个人的姓名、性别、出生日期、民族、学历、职称、登录名、密码、电话、家庭住址等。(2)用户个人通讯录模块个人姓名、电话、邮箱、工作单位、地址、QQ等。可以自由添加联系人的信息,查询或删除某些联系人。(3)日程安排模块添加从某一时间到另一时间要做什么事,日程标题、内容、开始时间、结束时间。可以自由查询,修改,删除。(4)个人文件管理模块用户在网上需要存储的临时文件。用户可以新建文件,修改、删除、移动文件。上传文件、修改文件名、下载文件、删除文件等。2.2系统的设计思路系统功能描述如下:(1)用户登录个人使用用户名和密码登录系统。(2)查看个人信息主界面显示个人基本信息:姓名、性别、出生日期、民族、学历、职称、电话、家庭住址、邮箱地址、登录名等。(3)修改个人信息用户可以修改自己的基本信息。如果修改了登录名,下次应使用新的登录名。(4)修改登录密码用户可以修改登录密码。(5)查看通讯录浏览通讯录列表,按照姓名检索等(6)维护通讯录增加、修改、删除联系人,单选删除。(7)查看日程安排查看日程安排列表,可以查看某一日程的内容时间等。(8)维护日程一个新的日程安排包括:日程标题,内容,开始结束时间。对日程进行添加、修改、删除等操作。(9)浏览下载文件任意浏览文件,并可以下载到本地。(10)维护文件修改、删除移动文件,修改文件名、下载文件、删除文件等操作。运行设计个人信息理系统个人信息理系统用户登陆个人信息管理通讯录管理日程安排管理个人文件管理查看信息修改信息修改密码查看通讯录增加联系人修改联系人查看日程增加日程修改日程查看文件上传文件用户注册退出管理系统删除联系人删除日程下载文件删除文件2.3项目设计本实训在数据库中可建立表,用于存放相关信息。用户表(user)包括的字段有用户名密码,用于处理index.jsp页面中用户登录的信息,如图1表1用户表(user)字段名称字段类型字段长度字段说明usernamevarchar50用户名passwordvarchar50用户密码idvarchar50用户身份个人信息表(userinfo)包括的字段有ID、用户名、用户性别、出生日期、民族、学历、职称、电话、家庭住址和电子邮件,用户处理个人信息管理功能,如表2表2个人信息表(userinfo)字段名称字段类型字段长度字段说明Idvarchar50用户编号usernamevarchar50用户名usersexvarchar10用户性别userbirthdayvarchar20出生日期usernationalvarchar30民族userdegreevarchar30学历userperfessionvarchar50职称usertelephonevarchar50电话userhomevarchar80家庭住址useremailvarchar50电子邮箱通讯录表(telephone)包括的字段有姓名、电话、邮箱、工作单位、地址和QQ等,用于处理通讯管理功能中保存的用户信息,如表3表3通讯录表(telephone)字段名称字段类型字段长度字段说明telephonenamevarchar50记录用户名Telephonevarchar50用户电话emailvarchar50用户电子邮箱workvarchar80用户工作单位homevarchar80用户家庭住址QQvarchar30用户QQ号吗日程安排表(day)包括的字段有日期和内容等,用于处理日程安排管理功能中有关日程的信息,如表字段名称字段类型字段长度字段说明datetimevarchar20日程日期thingvarchar80日程内容文件表(file)包括的字段有文件名、文件的编号等,用于处理个人文件信息,如表5字段名称字段类型字段长度字段说明filedayvarchar50文件日期filenamevarchar50文件名字usernamevarchar20上传人fileidvarchar20文件编号2.4系统数据处理用户通过登录页面输入用户名和密码进入系统,通过与数据库(mysql)的连接检验用户是否正确,若正确则进入个人信息管理页面,否则会显示登录错误清空登录。系统中个页面之间的跳转是通过超链接进一步实现的。各功能和模块的实现个人信息管理查看信息:此页面下的信息是对用户中输入的信息直观的显示。页面上端与修改信息和修改密码超链接,没有其他的具体功能。以下的修改信息和修改密码上端均为超链接,可实现页面之间的相互跳转。修改信息:此页面显示登录用户的相关信息,通过信息中的编号作为主键对用户信息进行修改,修改后的信息会通过查看个人信息刷新显示。中间如有对应属性未输入或者修改信息的记录与原记录无联系,会有对话框提醒显示。此时,页面仍停留在修改信息的页面。修改密码:此页面中新密码框需要覆盖以前的密码,通过数据库加以更新和保存,当输入新密码更新后,会显示修改成功对话框加以提醒,否则就是未输入新密码,停留在修改密码页面。2通讯录管理查看通讯录:此页面是与用户有关的联系人的个人信息,也是对通讯信息的直观显示,当记录的数目相对较大需要对此页面的内容予以分页处理。页面上端为增加联系人、修改联系人和删除联系人的超链接。以下相同不再赘述。增加联系人:此页面下是对联系人各个属性以文本框相关内容的形式输入,确定后提交给数据库进行存储,跳转至查看通讯录的界面,将新的记录添加更新到此页面。当输入的属性不能为空或者没有信息输入时,会有对话框显示提醒性信息,此时页面仍停留在增加联系人的页面。修改联系人:此页面是对已有信息的修改,是以该信息下的某一属性为主键对该记录进行修改,若修改成功则直接跳转至查看通讯录对记录进行更新,若修改不成功会出现对话框信息提示,仍停留在修改信息的页面。删除联系人:此页面是对已有信息的删除,是以该信息下的某一属性为主键对该记录进行删除,若删除成功则直接跳转至查看通讯录对记录进行更新,若删除的内容记录中没有,则删除不成功会出现对话框信息提示,此时仍停留在删除联系人页面。3、日程安排管理查看日程:此页面是与用户有关的日程信息,也是对日程信息的直观显示,当记录的数目相对较大时需要对此页面进行分页处理。页面上端的增加日程、修改日程和删除日程超链接。增加日程:此页面下是对日程管理中各个属性以文本框的形式输入,确定后提交给数据库进行存储,跳转至查看日程的界面,将新的记录添加更新到此页面。当输入的属性为空或者没有信息输入时,会有对话框显示提醒性信息,此时页面仍停留在增加日程的页面。修改日程:此页面是对已有信息的修改,是以该信息下的某一属性为主键对该记录进行修改,若修改成功则直接跳转至查看日程对记录进行更新,若修改不成功会出现对话框信息提示,此时页面仍停留在修改日程的页面。删除日程:此页面是对已有信息的删除,是以该信息下的某一属性为主键对该记录进行删除,若删除成功则直接跳转至查看日程对记录进行更新,若删除不成功会出现对话框信息提示,此时页面会停留在删除日程的页面。4、个人文件管理查看文件:此页面是与用户有关的文件信息,也是对文件信息的直观显示,当记录的数量相对较大需要对此页面进行分页处理。页面上端为删除文件和上传下载文件的超链接。删除文件:此页面是对已有的文件信息进行彻底的删除,是以该信息下的某一属性为主键对该记录进行删除,若删除成功则跳转至查看文件对记录进行更新,若删除不成功会出现对话框信息提示,页面会停留在删除文件的页面。上传和下载文件:此页面可以显示上传和下载的文件信息,可以从其他路径下上传和下载文本较小的文件,上传成功会更新值查看信息页面,否则会停留此页面,等待新的上传,对于已上传的文件可以双击该文件会出现对话框要求保留或打开,选择保留下载到某一路径下。5、退出页面退出页面与登录页面超链接,通过超链接重新回到登录页面。2.5系统出错处理对于系统中的各功能和模块中实现时出现的问题,会有异常处理和错误提示。当系统中遇到页面跳转和功能未实现问题,会有异常处理。当系统仅是以为达到目的,此时是以错误提示来予以处理,可以再次重新输入相关数据,从而达到目的。对于系统中较常出错的问题往往有以下几种:1、在jsp文件里与servlet的超链接,以及自动生成的xml文件,尤其是新目录文件生成要注意路径,否则会影响页面的跳转。2、对于系统模块中的属性在和数据库相连接传输数据时,要注意字符间的转换否则会在页面和数据库中显示乱码,此时要修改代码和数据库中的编码方式要设一致均为UTF-8,必要时要修改mysql安装下的文件默认格式为utf83、在上传和下载过这一模块下要注意组件的加载使用,在传递参数的对象上要格外小心注意传递参数的顺序要和数据库中各属性顺序保持一致,否则会在显示页面上统一记录下个属性的响应值发生混乱。系统设计效果(图示)登陆页面的实现(jsp+servlet+javabean)index.jsp<%@pagelanguage="java"contentType="text/html"pageEncoding="utf-8"%><html><head><title>个人信息管理系统实训</title><metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"></head><bodybackground="image/12.jpg"><center><formmethod="post"action="IndexServlet"><br><br><br><br><br><br><tablewidth="500"border="2"height="300"bgcolor="#95BDFF"><tralign="center"><td><br><h2>欢迎进入个人信息管理系统</h2></td></tr><tralign="center"><td><br>用户账号<inputname="username"type="text"size="22"><br><br>用户密码<inputname="userpass"type="password"size="24"><br><br><inputtype="submit"name="sub"value="登录"> <inputtype="reset"name="res"value="取消"></td></tr></table></form></center></body></html>IndexServlet.javapackageservlet;importjava.io.*;importjavax.swing.*;importjava.sql.*;importjavax.servlet.*;importjavax.servlet.http.*;publicclassIndexServletextendsHttpServlet{publicIndexServlet(){ super();}publicvoiddestroy(){ super.destroy();}publicvoidwrong1(){Stringmsg="用户名不能为空!"; inttype=JOptionPane.YES_NO_OPTION; Stringtitle="信息提示"; JOptionPane.showMessageDialog(null,msg,title,type);}publicvoidwrong2(){Stringmsg="用户名不正确,登录失败!"; inttype=JOptionPane.YES_NO_OPTION; Stringtitle="信息提示"; JOptionPane.showMessageDialog(null,msg,title,type);}publicvoidwrong3(){Stringmsg="密码不正确,登录失败!"; inttype=JOptionPane.YES_NO_OPTION; Stringtitle="信息提示"; JOptionPane.showMessageDialog(null,msg,title,type);}publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{doPost(request,response);}publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{Stringusername=newString(request.getParameter("username").getBytes("ISO-8859-1"),"UTF-8");Stringpassword=newString(request.getParameter("userpass").getBytes("ISO-8859-1"),"UTF-8");if(username.equals("")){wrong1();response.sendRedirect("index.jsp");}else{try{Connectioncon=null;Statementst=null;Class.forName("com.mysql.jdbc.Driver");con=DriverManager.getConnection("jdbc:mysql://localhost:3306/238","root","root");st=con.createStatement();Stringsql="select*fromuserwhereusername='"+username+"'";ResultSetrs=null;rs=st.executeQuery(sql);if(rs.next()){Stringsql2="select*fromuserwherepassword='"+password+"'";rs=st.executeQuery(sql2);if(rs.next()){response.sendRedirect("main.jsp");}else{wrong3();response.sendRedirect("index.jsp");}}else{wrong2();response.sendRedirect("index.jsp");}}catch(Exceptione){e.printStackTrace();}}}publicvoidinit()throwsServletException{}IndexBean.javapackageJavabBean;publicclassIndexBean{ privateStringusername; privateStringpassword; publicStringgetUsername(){ returnusername;} publicvoidsetUsername(Stringusername){ this.username=username;} publicStringgetPassword(){ returnpassword;} publicvoidsetPassword(Stringpassword){ this.password=password;}}登录页面的图是效果如图1用户注册的实现与通讯录以及日程的添加基本相同,仅用户注册界面展示如下图,用户名已存在和注册成功仅以个人文件管理实现展示查看文件实现file.jsp<%@pagelanguage="java"import="java.sql.*"pageEncoding="UTF-8"%><html><head><metahttp-equiv="pragma"content="no-cache"> <metahttp-equiv="cache-control"content="no-cache"> <metahttp-equiv="expires"content="0"> <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"> <metahttp-equiv="description"content="Thisismypage"></head><bodybgcolor="pink"><formmethod="post"><tablealign="center"width="1000"><tralign="center"><td>查看个人文件</td><td><ahref="deletefileinfo.jsp">删除个人文件</a></td><td><ahref="Page">上传下载个人文件</a></td></tr></table><br><hr><br><tablealign="center"border="1"width="700"><tr><thcolspan="6">查看个人文件</th></tr><tralign="center"><td><fontcolor="blue">日期</font></td><td><fontcolor="blue">名字</font></td></tr><%Connectioncon=null;Statementst=null;Class.forName("com.mysql.jdbc.Driver");con=DriverManager.getConnection("jdbc:mysql://localhost:3306/238","root","root");st=con.createStatement();Stringsql="select*fromfile";ResultSetrs=null;rs=st.executeQuery(sql);intintPageSize;intintRowCount;intintPageCount;intintPage;StringstrPage;inti;intPageSize=8;strPage=request.getParameter("page");if(strPage==null){intPage=1;}else{intPage=java.lang.Integer.parseInt(strPage);if(intPage<1)intPage=1;}rs.last();intRowCount=rs.getRow();intPageCount=(intRowCount+intPageSize-1)/intPageSize;if(intPage>intPageCount)intPage=intPageCount;if(intPageCount>0){rs.absolute((int1)*intPageSize+1);i=0;while(i<intPageSize&&!rs.isAfterLast()){%><tr><td><%=rs.getString("fileday")%></td><td><%=rs.getString("filename")%></td></tr><%rs.next();i++;}}%></table><hr><divalign="center">第<%=intPage%>页共<%=intPageCount%>页<%if(intPage<intPageCount){%><ahref="file.jsp?page=<%=intPage+1%>">下一页</a><%}if(intPage>1){%><ahref="file.jsp?page=<%=int1%>">上一页</a><%}rs.close();st.close();con.close();%></div></form></body></html>查看文件图示效果删除个人文件实现deletefileinfo.jsp<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><html><head><metahttp-equiv="pragma"content="no-cache"> <metahttp-equiv="cache-control"content="no-cache"> <metahttp-equiv="expires"content="0"> <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"> <metahttp-equiv="description"content="Thisismypage"></head><bodybgcolor="pink"><formmethod="post"action="DeleteFileInfoServlet"><tablealign="center"width="1000"><tr><td><ahref="123.jsp">查看个人文件</a></td><td>删除个人文件</td><td><ahref="Page">上传下载个人文件</a></td></tr></table><br><hr><br><tablealign="center"width="400"><tr><thcolspan="2">删除个人文件</th></tr><tr><td>名字</td><td><inputname="filename"type="text">输入要删除的文件名字</td></tr><tralign="center"><tdcolspan="2"> <inputname="sure"type="submit"value="确认"> <inputname="clear"type="reset"value="取消"></td></tr></table></form></body></html>DeleteFileinfoBean.jsppackageservlet;importjava.io.IOException;importjava.io.PrintWriter;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.Statement;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.swing.JOptionPane;publicclassDeleteFileInfoServletextendsHttpServlet{publicDeleteFileInfoServlet(){ super();}publicvoiddestroy(){ super.destroy();} publicvoidwrong(){ Stringmsg="该名字的文件已成功删除!"; inttype=JOptionPane.YES_NO_OPTION; Stringtitle="信息提示"; JOptionPane.showMessageDialog(null,msg,title,type); }publicvoidwrong1(){Stringmsg="名字不能为空!"; inttype=JOptionPane.YES_NO_OPTION; Stringtitle="信息提示"; JOptionPane.showMessageDialog(null,msg,title,type);}publicvoidwrong2(){Stringmsg="该名字不存在,请重新输入!"; inttype=JOptionPane.YES_NO_OPTION; Stringtitle="信息提示"; JOptionPane.showMessageDialog(null,msg,title,type);} publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ doPost(request,response); }publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{Stringfilename=newString(request.getParameter("filename").getBytes("ISO-8859-1"),"UTF-8");System.out.println(filename);if(filename.equals("")){wrong1();response.sendRedirect("deletefileinfo.jsp");}else{try{Connectioncon=null;Statementst=null;Class.forName("com.mysql.jdbc.Driver");con=DriverManager.getConnection("jdbc:mysql://localhost:3306/238","root","root");st=con.createStatement();Stringsql="deletefromfilewherefilename='"+filename+"'";introw=st.executeUpdate(sql);if(row==1){ wrong();response.sendRedirect("123.jsp");}else{wrong2();response.sendRedirect("deletefileinfo.jsp");}}catch(Exceptionee){ee.printStackTrace();}} }publicvoidinit()throwsServletException{}}DeleteFileInfoBean.jsppackageJavabBean;publicclassDeleteFileInfoBean{privateStringfilename;publicStringgetFilename(){ returnfilename;}publicvoidsetFilename(Stringfilename){ this.filename=filename;}}删除的人文件试图效果上传和下载文件(jsp+servlet)updownfile.jsp<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%><%@pagecontentType="text/html;charset=GBK"import="bean.*"%><html><head><metahttp-equiv="pragma"content="no-cache"> <metahttp-equiv="cache-control"content="no-cache"> <metahttp-equiv="expires"content="0"> <metahttp-equiv="contentType"content="text/html;charset=utf-8"> <metahttp-equiv="description"content="Thisismypage"><scripttype="text/javascript"> functioncheck(){ varform=document.getElementById("uploadFrom"); if(form.upload.value.length==0) { alert("请选择上传的文件!"); return; } form.submit(); }</script></head><body> <divstyle="height:10%"> <% Stringusername; //当值是用request的getAttribute()方法存入request对象中时,用下面方法接收 username=(String)session.getAttribute("username"); //当值使用response传递时用下面方法接收 //username=request.getParameter("username"); %> <formaction="UpLoad?username=<%=username%>"method="post"ENCTYPE="multipart/form-data"id="uploadFrom"> <tablewidth="100%"> <tr> <tdwidth="50%">欢迎<%=username%>登录!<ahref="index.jsp">注销</a></td> <tdwidth="45%"align="right">文件上传:<inputtype="file"name="upload"id="upload"height="10"></td> <tdwidth="5%"><inputtype="button"value="上传"onclick="check()"/></td> </tr> </table> </form> </div><hr/><divstyle="height:70%"> <tablewidth="100%"> <tr> <tdwidth="70%"align="center">名字</td> <tdwidth="30%"align="center">日期</td> </tr> </table> <% ArrayListall=(ArrayList)request.getAttribute("all"); Iteratorite=all.iterator(); while(ite.hasNext()){ Filebean=(File)ite.next(); Stringfilename=bean.getFilename(); Stringfileday=bean.getFileday(); %> <tablewidth="100%"> <tr><tdwidth="70%"align="center"><ahref="DownLoad?fileName=<%=filename%>"title="单击文件名下载"><%=filename%></a></td> <tdwidth="30%"align="center"><%=fileday%></td> </tr> </table> <%}%></div><divstyle="height:20%"> <% intpage_num=Integer.parseInt(String.valueOf(request.getAttribute("page_num"))); intcount=Integer.parseInt(String.valueOf(request.getAttribute("pagecount"))); %> <tablealign="center"> <tr> <td> <% if(1==page_num) { %> 上一页 <% }else{ %> <ahref="Page?page=<%=page_num-1%>">上一页</a> <% } %> </td> <% for(inta=page_num;a<page_num+4&&a<=count;a++) { %> <td> <ahref="Page?page=<%=a%>"><%=a%></a> </td> <% }%> <td> <% if(count==page_num) { %> 下一页 <%}else{%> <ahref="Page?page=<%=page_num+1%>">下一页</a> <%}%> </td> </tr> </table></div></body></html>UpLoad.javapackageservlet;importjava.io.IOException;importjava.io.PrintWriter;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importbean.File;importcom.jspsmart.upload.SmartUpload;importdatabase.File_DB;publicclassUpLoadextendsHttpServlet{ publicUpLoad(){ super(); } publicvoiddestroy(){ super.destroy(); } publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ response.setContentType("text/html"); PrintWriterout=response.getWriter(); out.println("<!DOCTYPEHTMLPUBLIC\"-//W3C//DTDHTML4.01Transitional//EN\">"); out.println("<HTML>"); out.println("<HEAD><TITLE>AServlet</TITLE></HEAD>"); out.println("<BODY>"); out.print("Thisis"); out.print(this.getClass()); out.println(",usingtheGETmethod"); out.println("</BODY>"); out.println("</HTML>"); out.flush(); out.close(); } publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ SmartUploadmySmartUpload=newSmartUpload(); mySmartUpload.initialize(this.getServletConfig(),request,response);try { mySmartUpload.setDenyPhysicalPath(true);//拒绝物理路径 mySmartUpload.setMaxFileSize(5000000); mySmartUpload.setTotalMaxFileSize(50000000); mySmartUpload.upload(); com.jspsmart.upload.FilemyFile=mySmartUpload.getFiles().getFile(0); StringfileName=myFile.getFileName(); HttpSessionsession=request.getSession(); Stringfileday=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss").format(Calendar.getInstance().getTime()); Filefile_bean=newFile(); file_bean.setFileday(fileday); file_bean.setFilename(fileName); File_DBfile_db=newFile_DB(); booleanresult=file_db.upload(file_bean); if(result) { request.getRequestDispatcher("Page").forward(request,response); } else {Stringerr="上传失败!!!"; request.setAttribute("err",err);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数据分析师工作计划与报表呈现方案
- 检察官助理的自我管理与时间规划
- 芯片架构工程师职业发展规划
- 初级心理辅导技巧养老护理员技能
- 江苏安全员C证学习笔记
- 邮政快递业务员高级应急处理能力考核方案
- 绿色供应链中级管理人员工作日志
- 知识产权职业发展规划
- 汽车质量工程师绩效改进计划制定与实施
- 碳管理数据分析师工作日历与任务分解
- 药品研发质量管理体系
- 危重病人皮肤护理
- 人血清白蛋白-透明质酸纳米颗粒:制备工艺、特性表征与抗肿瘤效能探究
- 公益集市相亲活动方案
- 医疗机构内部管理规章制度范本范文
- 委托保管扣押物品协议书
- 危化品企业安全标准化自评报告(有内容)
- DB31/T 367-2017黄浦江游览船及码头运营设施与服务质量要求
- 移模协议书范本
- 小学科学家长会课件
- 锂电池生产中的潜在安全风险及其控制措施
评论
0/150
提交评论