基于java-web聊天室毕业论文.doc_第1页
基于java-web聊天室毕业论文.doc_第2页
基于java-web聊天室毕业论文.doc_第3页
基于java-web聊天室毕业论文.doc_第4页
基于java-web聊天室毕业论文.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科生毕业论文(设计)题 目: 基于Java网页版聊天室的设计与实现 姓 名: 陈义旺 学 院: 理学院 专 业: 信息与计算科学 班 级: 信科092 学 号: 23109223 指导教师: 李爱萍 职称: 副教授 2013年 5月 27日南京农业大学教务处制目录摘要1关键词1Abstract1Key words1引言11系统任务与目标21.1系统任务21.1.1用户注册登陆功能21.1.2聊天功能21.1.3显示功能21.1.4退出功能21.2系统目标21.2.1功能目标21.2.2性能目标21.2.3其它目标32系统需求分析32.1 页面设计模块功能需求32.2文本聊天功能32.2.1聊天室成员列表32.2.2消息发送功能32.2.3文字设置功能32.3后台通讯模块功能需求32.4数据库访问模块功能需求43数据库设计43.1创建数据库和数据表43.2创建基本信息表43.2.1用户信息表43.2.2敏感词汇表43.2.3聊天消息表44关键技术和难点54.1监控用户在线状态54.2通过快捷键发送聊天消息74.3实现私聊74.4滚屏显示84.4.1对整个窗口的内容进行滚动84.4.2对指定页面元素中的内容进行滚动94.5自动踢出长时间不发言的用户104.6敏感词的自动屏蔽105系统程序开发115.1用户模块115.1.1用户注册115.1.2用户登录135.2聊天室主体模块功能155.2.1设计聊天室主页面155.2.2实时获取并显示在线用户列表165.2.3实现用户发言185.2.4实时显示聊天内容225.3退出聊天室模块245.3.1实现安全退出聊天室功能245.3.2处理非正常退出聊天室256.总结257.致谢268.参考文献26基于Java网页版聊天室的设计与实现信息与计算科学 陈义旺指导老师 李爱萍摘要:随着网络的普及和宽带技术的成熟,聊天室的使用越来越频繁,几乎所有网民在上网时都会进行聊天,通过聊天室聊天可以加强用户之间的沟通与交流。聊天室在线聊天已成为人与人之间的沟通、交流和联系的一种方式,为此越来越多的网站开始提供在线聊天服务,为了增强网站的吸引力,这就要求聊天室功能强大以及制作美观。本次毕业设计的聊天室系统以如何更高效和及时的实现用户间的聊天为主要目标,仿照现在最流行的腾讯qq聊天工具,在腾讯qq聊天工具的基础上加以改进,舍弃掉腾讯原有的客户端软件的繁琐安装,以浏览器网页替代,并加上屏蔽敏感词汇等功能。关键词:聊天室,在线聊天,浏览器网页,敏感词汇 Designment and Implementation of chat rooms based on Java web Student majoring in Information and Computation Science ChenYiwang Tutor LiAipingAbstract: With the popularity of the Internet and the maturity of the broadband technology, more and more people use chat rooms, which can enhance communication and exchange between users. Chatting online has become a way of communication between people. Hence more and more websites start offering chatting service online. In order to increase the attractiveness of the website, it is necessary that chat rooms have beautiful interfaces with more functions. The system of chat rooms of this graduation project regards that how to implement chat between users more efficiently and timely as the chief target. First I imitate the most popular chat tool, qq, then improve it by replacing the cumbersome installation of the client of Tencent with the browser and increasing many functions like shielding sensitive words.Key words: chat rooms, online chat, browser, sensitive words引言:目前,越来越多的用户进入到网络世界中享用浏览新闻、查询信息、发送邮件、在线观看电影等服务,享受网络带来的便利和办公的高效。与此同时,一个新型的Web应用程序为网民之间提供了一个即时互通信息的功能和场所,这就是聊天室。聊天室是提供给网站访问者一个对话交流的场所,通过聊天室可以加强沟通。一个优秀的聊天室,能过及时显示聊天室的名称和该聊天室人员的数量,并在用户聊天过程中自动屏蔽掉不健康的消息,营造良好的文明用语环境。作为一个信息与计算科学专业的学生,经过几年大学计算机知识的积累和为期一年的Java-web知识的系统培训,对计算机软件这个名词有了一定的认识,在这几年里,我对本专业学习也有了长足的进步,在毕业即临时,我就选择了自己感兴趣的基于Java网页版聊天室的设计与实现这个课题作为我的毕业设计及论文写作,以检验几年来的学习情况。本毕业论文设计的聊天室是基于Java-web中MVC模式的思想,前台创建JSP的应用,运用javaScript技术对客户请求响应,并结合Ajax技术对客户发送的消息及时显示;后台创建Servlet的应用,结合JAVA中输入流和输出流对消息进行发送。该系统包括服务端和客户端两部分,服务端程序主要负责侦听用户发来的信息,客户端只有成功登录到服务端才可以实现正常的聊天功能。在用户进入聊天室后,聊天室系统会自动显示在线用户列表,以至于用户可以对其他用户公聊,也可以选择对某个用户进行私聊,在交谈过程中为了让对方真切体会到交谈者此时此刻的心情,还可以选择各种表情。该聊天室在发送信息过程中页面流畅,负载能力强,灵活易用,性能稳定。1系统任务与目标11.1系统任务1.1.1用户注册登陆功能用户第一次登录该聊天室,没有账号,用户可以注册,注册成功后才可以登录。用户通过提交用户名称和用户密码进行登陆,系统便会根据这些登陆资料,辨别出用户是否存在,密码正确则顺利登陆,密码错误将提示用户再次输入密码。1.1.2聊天功能用户既可以公聊,也可以选择和特定的用户进行私聊,系统会根据用户公聊或私聊选择将聊天内容显示给不同的用户;同时系统会根据后台敏感词汇数据库表,判断用户聊天的内容是否有敏感词汇,内容和谐时正常显示,包含敏感词汇时自动屏蔽。1.1.3显示功能用户上线后系统会自动将已经上线的用户列表显示给当前用户,另外如有用户登录或退出时,在线用户列表会自动的刷新,以保证上线用户的有效性。1.1.4退出功能聊天室有两种退出方式,一种是单击主页面中的“退出聊天室”按钮,另一种是直接单击了浏览的关闭按钮,无论是何种退出,系统都能实现安全退出聊天室。1.2系统目标1.2.1功能目标:争取完全实现需本设计研究内容中定义的功能,希望能够有时间进行版本升级,如果可能进一步实现扩展的音频和视频聊天的功能。1.2.2性能目标:在网络正常的情况下能够快速将页面加载完毕,并且显示出聊天室中的所有成员,操作响应迅速,有较强的兼容性,能够在IE、谷歌、火狐等流行的浏览器中正常运行。可扩展性强、可维护性强。1.2.3其它目标:页面美观大方、操作简单易用、用户体验好。2系统需求分析一个完美的网页版聊天室,它将为用户提供友好的界面,丰富的功能,方便用户的使用,下面是该毕业设计需求的详细描述。 2.1 页面设计模块功能需求la.第一次使用系统的用户通过填写个人信息来注册,并能验证用户名的有效性是否重名;lb.使已经注册的用户可以在验证他的登录信息(一般指用户名和密码)后登录系统;lc.要求实现公聊,即公开聊天记录;ld.要求实现私聊,隐藏聊天记录;le.能够随意选择聊天字体的颜色;lf.能够选择聊天的语言表情;lg.能够自动显示聊天室中的在线成员名和在线人数。2.2文本聊天功能 这是页面的主要界面区域,为一个编辑框形式的窗口,其中用于显示聊天信息和系统通知用户的信息,该编辑框中可拷贝文字,但不支持修改里面信息。2.2.1聊天室成员列表以列表方式及时显示该聊天室中现在在线的成员。2.2.2消息发送功能在菜单栏中可点击选择在线用户列表中的其他用户,然后在下面的文本聊天编辑框中进行消息的发送,当然也提供全选的功能。2.2.3文字设置功能在文本聊天框下方的工具栏中包含文字颜色和字体选项,选择颜色或字体后以后输入的文本颜色将改变为设置的颜色,字体也改变,且聊天对方可见变化。2.3后台通讯模块功能需求由于是即时通讯,所以用Ajax实现,将客户端发送的请求及时响应并返回数据。2.4数据库访问模块功能需求将服务器发送的查询请求及时响应,并将结果返回。3数据库设计3.1创建数据库和数据表根据需求分析,本毕业设计的聊天室需要3各表,分别是用户信息表,敏感词汇表和聊天消息表。数据表名数据表中文名称数据表用途User用户信息表保存用户的基本信息Sensitivity敏感词汇表存储敏感词汇Information聊天消息表存储聊天消息3.2创建基本信息表3.2.1用户信息表字段名字段描述数据类型可否为空UserName用户名文本主键Password密码文本非空Sex性别文本Age年龄数字3.2.2敏感词汇表字段名称字段描述数据类型可否为空Word敏感字文本主键3.2.3聊天消息表字段名称字段描述数据类型可否为空InformationID消息编号数字主键Sender消息发送者文本Receiver消息接收者文本InformationDate消息时间日期/时间ChatInformation聊天消息文本4关键技术和难点4.1监控用户在线状态在聊天室程序中需要实时监控用户在线状态,当用户非正常退出时(例如当用户没有单击“退出聊天室”按钮,也没有单击窗口的关闭按钮,而是直接将页面转向其他网站)将该用户从用户列表中删除。可以应用Servlet中的(HttpBindingListener接口)2实现此效果,HttpBindingListener接口监听HTTP会话中的对象时不需要在web.xml中设定监听。通过HttpBindingListener接口监控用户在线状态的具体步骤:4.1.1编写用来保存在线用户和对在线用户进行具体操作的类UserInfo,在该类中主要包括返回外界使用的实例对象、添加用户、获取用户列表和移除用户的方法。UserInfo类的关键代码如下:/ 增加用户public boolean addUser(String user)3 if (user != null) this.vector.add(user);return true; return false;/ 获取用户列表public Vector getList() return vector;/ 移除用户public void removeUser(String user) if (user != null) vector.removeElement(user);4.1.2创建UserListener类,主要实现valueBound(HttpSessionBindingEvent arg0)和valueUnbound(HttpSessionBindingEvent arg0)方法,用于监控Session中的对象变化情况。在该方法中,通过valueBound()方法向控制台输出上线用户的信息,通过valueUnbound()8方法向控制台输出下线用户的信息。UserListener类的关键代码如下:/ 设置在线监听人员public void setUser(String user) this.user = user;/ 获取在线监听public String getUser()4 return this.user;/ 当Session有对象加入时执行的方法public void valueBound(HttpSessionBindingEvent arg0) System.out.println(上线用户: + this.user);/ 当Session有对象移除时执行的方法public void valueUnbound(HttpSessionBindingEvent arg0) System.out.println(下线用户: + this.user);if (user != ) container.removeUser(user);4.1.3在聊天室的Servlet实现类的登录聊天室的longinRoom()方法中,首先获得登录用户名和UserInfo类的对象,然后Session的过期时间设置为10分钟,在将该用户添加到UserInfo类的对象中,最后将UserListener对象绑定到Session中。关键代码如下:/获得登录用户名UserInfo user=UserInfo.getInstance();/获得UserInfo类的对象session.setMaxInactiveInterval(600);/设置Session的过期时间为10分钟UserListener ul=new UserListener();/创建UserListener的对象ul.setUser(username);/添加用户user.addUser(ul.getUser();/添加用户到UserInfo类的对象中session.setAttribute(user,ul)10;/将UserListener对象绑定到Session中上述的代码中,一定要将UserListener对象绑定到Session中,否则起不到监听的效果。4.2通过快捷键发送聊天消息使用过的QQ聊天软件的用户都知道,在通过QQ聊天时,编好聊天内容后按下快捷键(Ctrl+Enter)即可发送聊天内容,实现该功能只需要在聊天内容的文本框的onKeyDown事件中判断当前按下的快捷键是否为(Ctrl+Enter),如果是则调用自定义的send() 方法发送聊天内容。关键代码如下:54.3实现私聊所谓私聊就是只有发言人和接收人可以看到该信息,其他用户不能看到该信息,这样可以保证用户间的悄悄话不被其他用户所看到。4.3.1在保存聊天信息的XML文件中设置一个isprivate节点,用于记录聊天信息是否为私聊信息。isPrivate节点的值为true或false,值为true时表示是私聊信息,否则表示不是私聊信息。添加私聊信息在XML文件中的显示代码如下:5wgh微笑着无语<font color=”>l和你说一件事呀?</font>”2013-3-15 15:51:41true4.3.2当用户输入聊天信息并发送后,在接收聊天信息的Servlet中,将聊天信息保存在XML文件中,包括是否为私聊信息的参数(isPrivate)。关键代码如下:Element isPrivateNode = new Element(isPrivate).setText(false);newNode.addContent(isPrivateNode);4.3.3在显示输入内容时,判断聊天内容是否为私聊内容,即isPrivate节点是否为true,如果是则只在发言人和接收人的窗口中输出该聊天信息,并且在前面加入标记内容“私人对话”,关键代码如下:boolean isPrivate = Boolean.valueOf(item.getChildText(isPrivate);if (isPrivate) /获取私聊内容if (userName.equals(to)| userName.equals(from) messages += 私人对话+ from+ + face+ 对+ to+ 说:+ content+  + sendTime + ;4.4滚屏显示在实现聊天时,为了让用户可以及时看到最新发言,需要对聊天内容进行滚屏显示,同时为了让用户可以看到全部聊天内容,还需要提供不滚屏显示的功能。实现滚屏显示时,可以分为整个窗口的滚动和页面中元素的滚动两种情况:4.4.1对整个窗口的内容进行滚动滚动整个窗口,即对滚动条进行定位,可以通过sroll()函数的语法如下:window.scroll(x,y)其中,参数x表示滚动条水平位置的坐标;参数y表示滚动条垂直位置的坐标。另外将滚动条置底,只要将y的值设置的大一些即可,关键代码如下:6function scrollWindow()this.scroll(0,75000);setInterval(scrollWindow(),1000);scrollWindow();11这样每隔1000毫秒执行一次该函数,就可以让滚动条永远置底了。4.4.2对指定页面元素中的内容进行滚动对指定页面元素中的内容进行滚动可以通过scrollTop属性实现。scrollTop属性表示当前对象的顶点距离其最外层对象元素的距离。代码如下:object.scrollTop=distance;聊天室的内容显示区中滚屏效果就是使用该属性来定位最新聊天内容的。在页面的合适位置添加一个标记用于显示聊天内容。由于在现实聊天信息时默认情况下是滚屏显示,因此需要将该层的overflow属性设置为hidden即隐藏,关键代码如下:聊天内容添加一个用户控制是否滚屏的复选框,在该复选框的onClick事件上调用一个用于控制是否滚屏的方法checkScorllScreen()11,关键代码如下:编写一个自定义的JavaScript函数checkSrcollScreen()用于控制是否滚屏,在该方法中,首先判断添加的复选框是否为选中状态,如果不是则表示滚屏,否则将设置聊天内容的标记的scrollTop属性等于它的滚动高度乘以2。checkSrcollScreen()函数的关键代码如下:function checkScrollScreen()63if(!form1.scrollScreen.checked)document.getElementById(content).style.overflow=scroll;elsedocument.getElementById(content).style.overflow=hidden;/当聊天信息超过一屏时,设置最先发送的聊天信息不显示document.getElementById(content).scrollTop= document.getElementById(content).scrollHeight*2;setTimeout(checkScrollScreen(),500);4.5自动踢出长时间不发言的用户为了保证聊天室的搞笑运行,需要提供踢出长时间不发言用户的功能7。在实现踢出长时间不发言的用户时,可以通过采用JavaScript脚本的window对象的setTimeout()方法定时调用退出系统的函数实现。Window对象的setTimeout()方法用于延迟代码的执行,该方法的基本语法格式如下:window.setTimeout(code,delay);其中,code用于指定要延迟执行的代码(通常为一个自定义的JavaScript函数);delay用于指定延迟时间(以毫秒为单位)。通过window对象的setTimeout()方法实现定时踢出指定用户的关键代码:Timer=window.setTimeout(“Exit()”,);上述的代码实现了定时踢出长时间不发言的用户,如果想实现踢出长时间不发言的用户,还需要在用户发言后,将上述的计时器重新计时。关键代码如下:clearTimeout(timer);timer=window.setTimeout(“Exit()”,)9;注意在实现用户发言的方法中,一定要调用此方法,否则不会更新用户的发言时间,造成即使用户发言了还是被踢出了。4.6敏感词的自动屏蔽在以QQ聊天室为首的大多数聊天室都没有屏蔽敏感词汇功能,为了营造良好的网络文明用语环境,本聊天室特意增设此功能。用户进入聊天室就会看到有醒目的提醒,提醒大家文明聊天,不要说一些的敏感的字眼。而一旦有用户说了敏感的字眼,系统就要自动屏蔽掉。 在服务器数据库将那些敏感的字放进去,一旦用户聊天时,系统自动将用户的聊天的词语在数据库表中去查找,一旦有敏感的词,通过控制器Servlet的内容过滤修改输出的的字符串,改为“*”。关键代码如下:for (String sensiti : sensities) int preIndex=-1;if(preIndex = infro.indexOf(sensiti)!=-1)int lastIndex = preIndex + sensiti.length();updatedInfor=infro.substring(0,preIndex)+*+infro.substring(lastIndex)8;5系统程序开发5.1用户模块当用户访问聊天室时,首先进入的是登录聊天室页面。如果用户没有账号,则可以点击页面的注册链接,进入到注册页面;如果用户之前已经登录过,则直接输入用户名、密码,进行登录。5.1.1用户注册当用户进入到注册页面后,提示用户填写详细信息,点击“注册”按钮后,系统开始判断用户名、密码、确认密码、年龄和性别是否非法,判断用户名是否已经被注册,如果都能验证通过才允许用户注册成功。下面是注册界面和详细描述:设计注册聊天室页面,该页面用于新用户注册关键代码如下:9用户名: 密码: 确认密码: 年龄: 性别:男女 id=error $error10已有账号,登录!设计聊天室的Servlet实现类,添加注册聊天室的方法registRoom。在该方法中,首先获得注册用户,然后判断用户名和密码是否已存在。关键代码如下:for (User user : users)if(user.getUsername().equals(username)request.getSession().setAttribute(error, 该用户名已存在!);response.sendRedirect(register.jsp);return ;User user2 = new User(username, password, sex, age);String userLine = user2.toString();us.add(user2);this.saveUser(userLine);编写注册成功页面regist_ok.jsp,在该文件中将页面重定向到聊天室的主界面。注册成功的关键代码如下:5.1.2用户登录当用户单击“登录”按钮后,系统将判断用户名是否存在,密码是否和用户名搭配,用户是否已登录,如果都能验证通过才允许用户登录成功。下面是登录界面和详细描述:设计登录聊天室页面,该页面主要用于收集用户输入的登录信息,以及通过自定义的JavaScript函数验证输入信息是否为空,该页面的表单元素包括输入用户名、密码的文本框和登录提交表单的按钮,关键代码如下:用户名:密码:在聊天室的Servlet实现类中,添加登录聊天室的方法loginRoom(),在该方法中,首先获得登录用户,然后判断用户名是否存在、密码是否和用户名搭配、用户是否已登录。如果登录成功,将该用户添加到在线用户列表中,然后向向保存聊天信息的XML文件中添加一条系统公告,最后将页面重定向到登录页面;否则返回到登陆界面,并给出相应的提示信息。关键代码如下:/获得登录用户名String username=su.toGBK(request.getParameter(username);Vector vector=user.getList();boolean flag=true;/标记是否登录的变量/判断用户是否登录if(vector!=null&vector.size()0)for(int i=0;ivector.size();i+)if(user.equals(vector.elementAt(i)PrintWriter out= response.getWriter();out.println(alert(该用户已经登录);window.location.href=index.jsp;);flag=false;break;/保存用户信息if(flag)UserListener ul=new UserListener();/创建UserListener的对象ul.setUser(username); /添加用户/添加用户到UserInfo类的对象中user.addUser(ul.getUser()/将UserListener对象绑定到Session中session.setAttribute(user,ul);/保存当前登录的用户名session.setAttribute(username,username);/保存登录时间session.setAttribute(loginTime,new Date().toLocaleString();编写登录成功页面login_ok.jsp,在该文件中将页面重定向到聊天室的主界面。登录成功的关键代码如下:125.2聊天室主体模块功能5.2.1设计聊天室主页面在用户登录成功或者注册成功后即可进入聊天室的主界面,在该页面中包括页面头部、在线人员列表区、聊天内容显示区和用户发言区4部分,布局如下:页面头部在线人员列表区聊天内容显示区用户发言区聊天室主界面主要采用标签进行布局,关键代码如下: 在线人员列表 聊天内容 5.2.2实时获取并显示在线用户列表在开发聊天室程序时,为了让用户及时了解当前在线用户,并与其他用户进行交流,需要提供实时获取并显示在线人员列表的的功能。在聊天室的主界面中,左侧显示在线人员列表及在线人员。为了实时显示在线人员列表,本设计应用了Ajax技术。以下是实现获取并显示在线用户列表的界面和功能:编写自定义的JavaScript函数showOnline(),用于实例化Ajax对象。showOnline()函数的关键代码如下:Function showOnline()Var loader=new net.AjaxRequest(“online.jsp?nocache=”+new Date().getTime(),deal_online,onerror,”GET”)6;在上述的代码中,一定要有该行代码“?nocache=”+new Date().getTime()”,否则将出现在线成员列表不更新的情况。本设计中Ajax进行异步请求目标的URL地址为online.jsp,在该jsp文件中,主要是将保存在集合类中的在线人员列表显示到页面。online.jsp页面的代码如下: 所有人 0)String username=; amount=vector.size();for(int i=0;i a href=# onclick=set() 当前在线人在聊天室的主界面中,将左侧用于显示在线人员列表的单元格的id属性设置为online,用于实时显示在线人员列表,关键代码如下:在线人员列表编写Ajax的回调函数deal_online(),用于将获取的在线人员列表赋值给id为online的标记的innerHTML属性。deal_online()函数的关键代码如下:Function deal_online()online.innerHTML=this.req.responseText;为了让页面载入后就调用Ajax获取在线人员列表,并且每隔10秒钟便获取一次数据,还需要在页面中添加JavaScript代码。关键代码如下:window.setInterval(“showOnline();”,10000);window.onload=function()showOnline();5.2.3实现用户发言在聊天室程序中一个必不可少的功能就是实现用户发言,在本设计的聊天室中,用户发言区位于聊天室主界面的底部,以下是实现用户发言的界面和功能:在页面的合适位置添加用于收集用户发言信息的表单及表单元素,关键代码如下:input name=from value= 对 表情 无表情的 说: 悄悄话滚屏 字体颜色: 默认颜色 红色热情 在上面的代码中,语句用户显示当前的登录用户名。聊天对象文本框被设置为只读属性时用户就不能手动输入聊天对象,因此还需要提供选择聊天对象的功能,还可以通过在主页面中添加选择聊天对象的JavaScript自定义函数及在在线人员列表中添加链接实现。实现将选择的聊天对象添加到聊天对象文本框的JavaScript代码如下:function set(selectPerson)/自动添加聊天对象if(selectPerson!=)if(form1.isPrivate.checked & selectPerson=所有人)alert(请选择私聊对象!);elseform1.to.value=selectPerson;elsealert(请重新选择聊天对象!);编写自定义的JavaScirpt函数send(),用于调用Ajax实现用户发言。在该函数中,首先验证输入信息的合法性,然后再将提交的表单元素的内容连接为一个参数字符串,最后实例化Ajax对象。Send()函数的关键代码如下:if(form1.to.value=)alert(请选择聊天对象!);return false;if(form1.content1.value=)alert(发送信息不可以为空!);form1.content1.focus();return false;if(form1.isPrivate.checked)isPrivate=true;elseisPrivate=false;Var param=from=+form1.from.value+&face=+form1.face.value+&color=+form1.color.value+&to=+form1.to.value+&content=+form1.content1.value+&isPrivate=+isPrivate; var loader=new net.AjaxRequest(MessagesAction?action=sendMessage,deal_send,onerror,POST,param)13;在聊天室相关的Servlet实现类中添加发送聊天信息的方法sendMessages()。在该方法中,首先获取用户发言的相关信息。并对出现中文的信息进行转码,然后判断保存当天聊天信息的XML文件是否存在,如果不存在则创建该文件,最后将聊天信息保存到XML文件中,并重定向网页。sendMessages()方法的关键代码如下:channel.addContent(newNode); / 创建messages节点Element fromNode = new El

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论