《JSP动态网站》很全很强大课件_第1页
《JSP动态网站》很全很强大课件_第2页
《JSP动态网站》很全很强大课件_第3页
《JSP动态网站》很全很强大课件_第4页
《JSP动态网站》很全很强大课件_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

期末复习第1章

Web2.0下的JSPJSP(JavaServerPages)是由SunMicrosystem公司推出的新技术,是基于JavaServlet以及Java体系的Web开发技术。一种先进、安全和跨平台的动态网页开发技术JSP可以一次编写,处处运行JSP页面可以将内容的动态生成部分和静态显示部分进行分离

JSP概述P3——JSP概念Tomcat介绍Tomcat是一个可以直接提供Web服务的JSP服务器,同时也支持Servlet的工具安装Tomcat下载(

)apache-tomcat-6.0.18.zip解压到JDK所在的根目录测试Tomcat启动Tomcat在浏览器地址栏中输入

如果看到tomcat的欢迎页面说明安装成功了JSP运行环境:JDK+Tomcat

/bin:存放各种平台下启动和关闭Tomcat的脚本文件/work:Tomcat把各种由jsp生成的servlet文件放在这个目录下/webapps:web应用的发布目录,把java开发的web站点或war文件放入这个目录下就可以通过tomcat服务器访问了/conf:Tomcat的各种配置文件/lib:存放Tomcat服务器和所有web应用都能访问的JARTomcat的目录结构及其用途JSP运行机制P16

否是否第一次调用JSP引擎代码转换是直接调用Java编译器请求响应第2章

JSP页面元素JSP页面基本结构一个JSP页面有两部分组成JSP页面的静态部分,如HTML,CSS标记等,用来完成页面布局和显示样式JSP页面的动态部分,如脚本程序,JSP标签等,用来完成数据处理JSP页面动态部分包括:脚本元素脚本元素用来嵌入Java代码,这些代码将成为转换得到的Servlet的一部分脚本元素又划分为声明、表达式和脚本执行程序指令:指令用来从整体上控制Servlet的结构动作:动作用来引入现有的组件或者控制JSP引擎的行为注释JSP页面构成元素程序脚本元素表达式在运行后被自动转化为字符串,然后插入到这个表达式所在的位置显示。所以用户能在一行文本中插入JSP表达式语法格式如下所示:<%=某个表达式%>在JSP表达式中应遵循以下规则:完整性独立性不能以分号结尾<%=newString(“JSP”);%>非法表达式,不能以分号结尾JSP表达式脚本程序包含在两个“%”之间,必须符合Java的相关规定在运行时被插入到JavaServlet程序的service方法中能够在脚本程序中:创建需要用到的变量或对象编写Java表达式使用内置对象和用<jsp:useBean>进行创建的对象。完成常见逻辑功能,如计算求和等JSP脚本程序作用:用来定义页面级变量以保存信息定义JSP页面级可能需要的支撑功能例如:如果在JSP页面重复代码太多,通常这些代码编写成独立Java类或方法可以进行变量,方法和类三种声明语法:声明都在“<%!声明%>”标记中“<%”与“!”不允许出现空格声明中要以分号(;)作为变量分隔符和句子结束符<%!inti=0;%>是一个合法的变量声明JSP声明Directive(编译指令)相当于在编译期间的命令。格式:

<%@DirectiveName属性=“属性值"%>常见的Directive:pageincludetaglibJSP指令(Directive)page指令主要用于设置JSP页面的属性如页面编码形式,缓存大小,错误处理页面等。基本格式:<%@page[language="java"][extends="package.class"][import="{package.class|package.*},..."][session="true|false"][buffer="none|8kb|sizekb"][autoFlush="true|false"][isThreadSafe="true|false"][info="text"][errorPage="relativeURL"][isErrorPage="true|false"][contentType="Type[;charset=characterSet]"%>page指令include表示在当前页面中静态包含一个文件静态包含表示被包含的文件在JSP文件翻译成Servlet文件时会被完整地插入到该JSP文件中去。被包含的文件可以是JSP文件、HTML文件、文本文件或者只是一段Java代码等。语法格式为:<%@includefile="URL"%>注意:JSP页面和被包含页面共享所有页面作用域数据不能在file文件中添加参数进行动态内容求值<%@includefile=“inc.jsp”%>include指令名称动作说明jsp:include在页面被请求的时候引入一个文件jsp:useBean寻找或者实例化一个JavaBeanjsp:setProperty设置JavaBean的属性jsp:getProperty输出某个JavaBean的属性jsp:forward把请求转到一个新的页面jsp:param不同页面之间传递参数jsp:plugin根据浏览器类型为Java插件生成OBJECT或EMBED标记JSP常见动作表<jsp:include>动作指令表示在当前的JSP页面中,动态地包含资源。在JSP页面被请求执行时调用被包含的页面可包含txt文件、JSP文件、HTML文件和Servlet文件。语法格式为:<jsp:includepage="{relativeURL|<%=expression%>}"flush="true"/>例如:<jsp:includepage="admin/login.jsp"/><jsp:includepage="copyright.html"/><jsp:includepage="admin/login.jsp">

<jsp:paramname="username"value=“huizhi"/></jsp:include>

<jsp:include>动作指令<jsp:forward>用于将请求(页面控制权)转发到另一个JSP、Servlet或者静态资源文件。每当遇到此操作时,JSP引擎就停止执行当前的JSP,转而执行被转发的资源。语法格式为:<jsp:forwardpage={"relativeURL"|"<%=expression%>"}/>

<jsp:forwardpage={"relativeURL"|"<%=expression%>"}><jsp:paramname="name"value=“value"/></jsp:forward>例如:

<jsp:forwardpage="/JSPExample/forward1.jsp"/><jsp:forwardpage="/JSPExample/JExample6.jsp"><jsp:paramname="username"value=“huizhi"/></jsp:forward><jsp:forward>转向动作指令为了简化页面开发复杂性,JSP提供了一些可在脚本中使用的内置对象(内置对象不需要进行声明)。每一个内置对象都对应一个特定Java类或接口。JSP容器提供以下内置对象:request、response、session、application、config、pageContext、page、out、exception。对象类型描述requestjavax.servlet.HttpServletRequest客户端的请求responsejavax.servlet.ServletResponseJSP页面的响应applicationjavax.servlet.ServletContext全局对象,用于为多个应用程序保存信息。sessionjavax.servlet.http.HttpSession会话对象,用来保存每个用户信息,以便跟踪每个用户的操作状态引言对象类型描述outjavax.servlet.jsp.JspWriter代表输出流对象,用来向客户端输出数据。configjavax.servlet.ServletConfig页面的ServletConfig对象,表示servlet的配置。pageContextjavax.servlet.jsp.pageContext为JSP页面包装页面的上下文,管理对属于JSP中特殊可见部分中已命名对象的访问。pagejava.lang.Object指向页面自身的方式。exceptionjava.lang.Throwable在运行时没有被Throwable捕获的错误。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。response对象封装了JSP产生的响应,然后被发送到客户端以响应客户端的请求。response对象和request对象功能恰好相反,request对象封装的是客户端提交信息,而response对象封装的是返回客户端的信息。response对象的作用域和request对象相同,都是在当前页面。如果超出了这个范围,就会失效。response方法有三类,分别为设定表头方法、设定响应状态码、重定向方法。

response对象概述publicabstractStringgetCharacterEncoding()返回响应的字符编码类型,如果没有指定类型,那么字符编码被默认设置为text/plain。publicabsbactServletOutputStreamgetOutputStream()返回用来写入响应数据的输出流。publicabstractvoidsetContentLength(intlength)设置返回响应的数据的长度。publicabstractvoidsetContentType(Stringtype)设置响应的MIME类型。publicabstractvoidaddCookie(Cookiecookie)将指定的Cookie加入响应。publicabstractStringencodingRedirect(Stringurl)对指定的URL进行编码,以便在sendRedirect()方法中使用。publicabstractvoidsetStatus(intcode)设置响应的状态代码,使用默认的消息。response方法在动态网站的某些操作中,有时需要从一个页面转向另外一个页面,如用户登录成功。要达到页面重定向的效果,可以采用前面学习的动作指令jsp:forward,也可以采用response对象的sendRedirect

publicabstractvoidsendRedirect(Stringurl)其中url表示转向的页面资源,可以是JSP页面、HTML页面、Servlet等。JSP页面还可以用response对象的sendError方法将页面重定向到一个包含了出错信息的页面。sendError方法接收一个错误码以及一个可选的出错消息,如下所示:<%response.sendError(404,”页面没有找到!”);%>案例ResponseExample1.jsp、ResponseExample1_1.jsp、

ResponseExample1_2.jsp文件response重定向(1)forward可以在JSP页面中使用,也可以在Servlet中实现。在JSP页面中使用<jsp:forwardpage=“目标文件”/>,例如要跳转到user.jsp,可以写:<jsp:forwardpage="user.jsp"/>在Servlet中使用RequestDispatcher的forward方法,要跳转到user.jsp,可以写:RequestDispatcherrd=request.getRequestDispatcher("userlist.jsp");rd.forward(request,response);

sendRedirect使用response.sendRedirect("userist.jsp");(2)请求次数不同,这是最本质的区别。(3)传值方式不同。(4)客户端在地址栏中看到的地址不同。forward和sendRedirect区别在把输出结果传送到浏览器时,浏览器必须启动相应的应用程序来处理该文档。为了标识文档的类型,服务器通过HTTP报头的Content-Type指定。例如,要发送一个MicrosoftExcel文件到客户端,那么此时的MIME类型就是“application/vnd.ms-excel”。在大多数实际情况中,当浏览器接收到这个文件后,会启用Execl来进行处理。在JSP中,设定MIME类型的方法是通过Response对象的setContentType()方法。每个MIME类型都由两部分组成:前半部分为数据的类别,如文本text、声音audio和图像image等;后半部分与文档的扩展名相关,为处理数据的应用程序。动态响应contentType属性服务器是怎么把信息在用户浏览器显示的呢?这由out对象来完成。虽然可以用表达式来完成输出,但是表达式最终也得转换成out对象输出。因为JSP页面中的表达式,经求值以后的结果将转换成String对象,随后该String对象被发送到out对象输出。out对象的基类是JspWriterout对象主要的方法是:print()方法和println()方法。out对象的作用范围是page(页面执行期)如果page指令中autoflush=“true”,那么当out对象的缓冲区被填满时,out对象会自动清空缓冲区的内容

<%out.println(“<ahref=’’>新浪网</a>”;)%>

out输出对象第4章

JavaBean技术JavaBean是描述Java的软件组件模型。它们在容器中运行并对外提供具体的业务逻辑操作功能。组件:继过程性模型和面向对象模型之后的新一代逻辑模型,是最先进的软件重用技术组件是自含的、可重用的软件单元JavaBean实质上是一个Java类,一个遵循某种规则的类。当用在Web程序中时,会以组件的形式出现,并完成特定逻辑处理功能。一般来说JavaBean被分为两类:可视化Bean和不可视化Bean。可视化Bean可以表示为简单的GUI组件。例如按钮组件、菜单等等。不可视化JavaBean在后台完成业务逻辑处理功能,例如访问数据库执行查询操作的JavaBean,这些JavaBean在运行时不需要任何可视的界面。JavaBean介绍可以实现代码的重复使用;易维护,易使用,易编写;可在支持Java的任何平台上工作,而不需要重新编译;可以在内部网内或者网络之间传输,支持分布式环境JavaBean的其它特性:(1)自查(introspection)应用程序构造工具都能分析Bean具有哪些属性、方法和事件,以及使用它们时所必需的信息利用标准的Bean信息类进行显式的定义以命名约定为基础的设计模式来定义(2)客户定制(customization)开发人员可以利用应用程序构造工具设置Bean的属性值,以定制Bean的外观和行为。(3)永久性存储可以在永久性存储设备上保存Bean类,以供今后重用。JavaBean具有以下特性虽然编写JavaBean与编写Java程序没有太多区别,但仍然有以下几点需要注意。

(1)如果Bean中有构造方法,那么这个构造方法不能带任何参数,并指定为public。

(2)Bean中被JSP页面直接访问的成员方法的修饰符必须指定为public。

(3)Bean具有的成员变量名的第一个字母必须小写,aa1、aa2、bb1等的第一个字母都是小写的。JavaBean编写规范(4)Bean中的每个成员变量都有相应的get和set方法对其进行读/写。

(5)在get和set后面跟着成员变量的名字,且这个成员变量名的第一个字母必须改为大写字母。例如,成员变量的名字是xy,定义的get方法的方法名必须是getXy;定义的set方法的方法名必须是setXy。

(6)如果成员变量的数据类型是boolean型的,则可以用isXy方法来代替上述的getXy方法。packagebeans;publicclassNoteBean{privateStringtitle;privateStringauthor;privateStringcontent;publicStringgetTitle(){returntitle;}publicvoidsetTitle(Stringtitle){this.title=title;}publicStringgetAuthor(){returnauthor;}publicvoidsetAuthor(Stringauthor){this.author=author;}publicStringgetContent(){returncontent;}publicvoidsetContent(Stringcontent){this.content=content;}}下面为一个留言Bean,实现作者、标题和内容的设置和获取使用JavaBean我们知道,JavaBean是从JSP页面中分离出来的Java代码,是JSP页面的动态部分。在这里可以以面向对象的方式来看待JSP页面和JavaBean之间的关系,JSP页面是一个独立的对象,JavaBean是一个独立的对象,其形式如图4-1所示:从上图中可以看出,JSP页面和JavaBean组件都是独立对象,JSP页面如果要使用JavaBean,必须通过相应语句调用JavaBean,即JSP动作标记。在JSP页面中使用JavaBean,必须在JSP页面中有调用另外一个JavaBean对象的语句。该语句为JSP的动作标签<jsp:useBean>,<@pageimport=“包名.类名”><jsp:useBeanid=“beanname”class=“classname”scope=“范围”/>或者<jsp:useBeanid="beanname"class="classname“scope=“范围”>

初始化代码</jsp:useBean>useBean标记JSP引擎分配给每个客户的Bean是互不相同的,该Bean的有效范围或生命周期是由<jsp:useBean>动作中的Scope属性的取值确定的。在JavaBean中有4种作用域:application(应用程序)、session(会话)、request(请求)和page(页面)。page作用域

page作用域是四个作用域范围最小的一个,它只适用于当前的JSP页面,当客户离开这个JSP页面时JavaBean就会失效。如果另外一个JSP页面同时也使用此JavaBean,二者之间没有任何的联系。<jsp:useBeanid=“Bean-name”class=“class-name”scope=“page”> 初始化成员 </jsp:useBean>JavaBean作用域范围request范围JavaBean实例可以在处理请求的所有JSP页面中存在,这个对象只有在请求全部处理完毕后才会被释放掉。可以通过forward标签将Bean传送给下一个JSP。当一个JSP程序通过forward标签将Request对象传送给下一个JSP程序时,属于RequestScope的Bean也将会随着Request对象送出,此时,由forward标签所串联起来的JSP程序可以共享相同的Bean。语法格式

<jsp:useBeanid=“Bean-name”class=“class-name”scope=“request”> 初始化成员 </jsp:useBean>request对象request作用域当一个访问者访问站点时,则产生一个session对象。一个访问者开始访问站点时,从他访问的起始页到随后访问的所有页面的集合,被称为一个session。session作用域范围的JavaBean对象存储在HTTP会话中,常用于共享同一session的JSP页面。注意:<%@page%>标签中不要设置session=false,否则在这个JSP页面中session将不会起作用。语法格式<jsp:useBeanid=“Bean-name”class=“class-name”scope=“session”> 初始化成员 </jsp:useBean>session作用域application作用域范围的JavaBean对所有的用户和所有页面都起作用,只需创建一次,而且将会存在于Web应用程序执行的整个过程中。application作用域JavaBean对于处理需要对所有用户和页面都有效的数据十分有用。常用于共享同一application的JSP程序。作用域范围为applcation的JavaBean对象存储在ServletContext中,即application对象,这就意味着这样的JavaBean的生存周期是整个应用程序,当webServer停掉才会消失掉。语法格式<jsp:useBeanid=“Bean-name”class=“class-name”scope=“application”> 初始化成员 </jsp:useBean>application作用域第5章

Servlet技术创建并返回一个包含基于客户请求性质的、动态内容的、完整的HTML页面。创建可嵌入到现有HTML页面中的一部分HTML片段。处理多个客户机的连接,接收多个客户机的输入,并将结果广播到多个客户机上。可以与其它服务器资源(包括数据库和基于Java的应用程序)进行通信,转交请求给其它的服务器和Servlet,按照任务类型或组织范围,允许在几个服务器中划分逻辑上的服务器。Servlet开发人员可以定义彼此之间共同工作的激活代理,每个代理都是一个Servlet,代理者之间可以传送数据。

Servlet的应用范围Servlet由Web服务器的Servlet引擎负责管理运行。引擎为每一个请求创建一个轻量级的线程并进行管理。Servlet的工作原理浏览器向Web服务器发出请求Web服务器响应请求后,把发给Servlet的请求,转交给Servlet引擎处理Servlet引擎检查对应的Servlet是否已装载,如果没有装载,则将其载入内存并初始化,然后由该Servlet对请求进行处理。如果Servlet中含有访问数据库的操作,则还要通过相关的JDBC驱动程序,与数据库相连,对数据库进行访问Servlet通过JDBC取回结果,生成HTML页面并将页面送回Web服务器Web服务器将页面发送回浏览器Servlet的工作原理Servlet生命周期可以划分为三个阶段:初始化阶段、响应客户请求阶段和终止阶段分别对应javax.servlet.Servlet接口中定义的三个方法init()、service()和destroy()。Servlet生命周期所谓加载Servlet,实际上是用Web服务器创建一个Servlet对象,调用这个对象的init()方法完成必要的初始化工作。在下列时刻服务器加载Servlet:如果配置了自动加载选项,则在启动Web服务器时自动加载Servlet。在Web服务器启动后客户端首次向Servlet发出请求时,自动加载Servlet。重新装载Servlet时自动加载Servlet。

加载Servlet当Servlet初始化结束后,Servlet接收由服务器传来的用户请求,调用service()方法处理客户请求。service()方法首先获得关于请求对象的信息,处理请求,访问其它资源,获得需要的信息。然后,service()方法使用响应对象的方法将响应传回Web服务器,Web服务器做相应处理后再将其传送至客户端。service()方法也可能激活其它方法(如doGet()、doPost()或用户自己开发的新的方法)以处理请求。Servlet能够同时运行多个service()方法。对于每一个客户请求,Servlet都在它自己的线程中调用service()方法为用户服务。如此循环,但Servlet不再调用init()方法进行初始化,一般情况下只初始化一次。处理客户请求当Web服务器要卸载Servlet或重新装入Servlet时,服务器会调用servlet的destroy()方法,将Servlet从内存中删除,否则它一直为客户服务。总之,Servlet的生命周期开始于将它装载到Web服务器,结束于终止或重新装载Servlet。当Servlet被加载后,主要通过循环调用service()方法为用户服务。结束Servlet

1.编写Servlet文件P172

2.编译Servlet文件

3.部署Servlet文件

4.访问Servlet文件<servlet><servlet-name>GoShop</servlet-name><servlet-class>svlt.GoShop</servlet-class></servlet><servlet-mapping><servlet-name>GoShop</servlet-name><url-pattern>/GoShop</url-pattern></servlet-mapping>Servlet实际应用过程在HttpServlet抽象类中的service()方法一般不需要被重写,它会自动调用和用户请求对应的doGet()和doPost()方法。doGet()由服务器通过service()方法调用,用于处理HTTP的GET请求。GET请求可供客户端向服务器发送表单数据。有了GET请求,这些表单数据就会附带在浏览器发送的URL后面,作为查询字符串发送给服务器。可发送的表单数据的数量由URL允许的最大长度来限制。doPost()由服务器通过service()方法调用,用于处理HTTP的POST请求。POST请求使客户端向服务器发送表单数据。有了POST请求,这些表单数据就会被单独发送给服务器,而不是被追加到URL后面,这样就可以实现发送大量表单数据的目的。doGet和doPost方法第6章

JSP访问数据库(1)导入JDBC标准类库<%@pageimport="java.sql.*"%>(2)注册数据库驱动程序使用Class.forName()方法加载相应数据库的JDBC驱动程序。Class.forName()方法是Java的Class类的静态方法,它将使Java虚拟机动态地寻找、载入并连接指定的类。如果该类无法找到,则抛出ClaaNotFoundException类的异常。(3)建立与数据库的连接该连接可以分两部进行,其格式为

Stringurl=jdbc:<JDBC驱动程序名>:<数据源标记>;

Connectionconn=DriverManager.getConnection(url);一个JDBC的数据库连接是用数据库url来标记的。连接将告诉驱动程序管理器使用哪个驱动程序和连接哪个数据源。conn表示通过DriverManager类的静态方法getConnection()建立的一个数据库连接对象。(4)使用SQL语句对这个数据库对象进行操作。(5)使用close()方法解除JSP与数据库的连接并关闭数据库。

JDBC编程要点DriverManager:负责加载各种不同驱动程序,作用于用户和驱动程序之间。跟踪可用的驱动程序,并在数据库和相应驱动程序之间建立连接Driver:驱动程序,会将自身加载到DriverManager中去,并处理相应的请求并返回相应的数据库连接(Connection)。Connection:数据库连接,负责进行数据库间通讯,SQL执行以及事务处理都在某个特定Connection环境中进行。可以产生用以执行SQL的Statement。Statement:用以执行SQL查询和更新(针对静态SQL语句和单次执行)PreparedStatement:用以执行包含动态参数的SQL查询和更新(在服务器端编译,允许重复执行以提高效率)。CallableStatement:用以调用数据库中的存储过程。ResultSet:表示数据库结果集的数据表,通过执行查询数据库的语句生成。ResultSetMetaData:可用于获取关于ResultSet对象中列的类型和属性信息的对象JDBC常用接口连接数据库的常用方式使用纯Java数据库驱动程序连接

这种驱动利用作为中间件的应用服务器来访问数据库。应用服务器作为一个到多个数据库的网关,客户端通过它可以连接到不同的数据库服务器。应用服务器通常都有自己的网络协议,Java客户端程序通过JDBC驱动程序将JDBC调用发送给应用服务器,应用服务器使用本地驱动程序访问数据库,从而完成请求。利用作为中间件的应用服务器访问数据库使用纯Java数据库驱动程序连接

实例 1.连接前准备

MySQL数据库mysql-connector-java-5.0.4-bin.jar

创建数据库、数据库表 2.连接数据库程序

ConnMysql.jsp 3.连接测试连接数据库的常用方式更新数据库中的数据,可以使用SQL语句UPDATE、INSERT和DELETE操作,然后将包含UPDATE、INSERT、DELETE的SQL语句交给Statement对象的executeUpdate()方法执行。Statement对象用于执行不带参数的简单SQL语句。在JSP程序中,由于外部环境的变化,后台连接数据库中的数据每隔一段时间,就需要更新。我们不可能直接打开MySQL数据库进行更新,一般情况下都是借助JSP程序进行更新。添加、更新与删除操作普通SQL语句

Stringsql="insertintobookInfo(bookname,publisher,price) values('"+name+"','"+publisher+"','"+price+"')";预处理语句

Stringsql="insertintobookinfo(bookname,publisher,price) values(?,?,?)";预处理语句具有两个主要的优点:查询只需要被解析(或准备)一次,但可以使用相同或不同的参数执行多次。传给预处理语句的参数不需要使用引号,底层驱动会处理这个。实现接口:

PreparedStatement接口创建表示预编译的SQL语句的对象。实例:PreparedTest.jsp使用预处理语句第7章

Ajax技术Ajax技术成功实现了无刷新页面和数据的异步交互Ajax不是单一的技术,而是四种技术的集合Ajax简介(AsynchronousJavaScriptandXML)技术功能简介JavaScriptJavaScript是通用的脚本语言,用来嵌入在某种应用之中。Web浏览器中嵌入的JavaScript解释器允许通过程序与浏览器的很多内建功能进行交互。Ajax应用程序是使用JavaScript编写的CSS(层叠样式表)CSS为Web页面元素提供了一种可重用的可视化样式的定义方法。它提供了简单而又强大的方法,以一致的方式定义和使用可视化样式。在Ajax应用中,用户界面的样式可以通过CSS独立修改DOM(文档对象模型)DOM以一组可以使用JavaScript操作的可编程对象展现出Web页面的结构。通过使用脚本修改DOM,Aja

温馨提示

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

评论

0/150

提交评论