




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Liferay6.2文档 作者:张娜日期:2014-01-10目录1 环境搭建41.1 开发工具41.2 打开集成Liferay Portal IDE的Eclipse41.3配置Liferay-plugins-sdk51.4 配置ant61.5 配置tomcat71.6 配置jre参数71.7启动服务82 配置数据库83 liferay使用介绍93.1 访问portal93.2 添加应用93.3 管理103.3.1页面113.3.2 站点设置133.3.3 站点内容133.4 门户的基础管理143.4.1 用户和组织143.4.2 站点143.4.3 网站模板153.4.4 网页模板153.4
2、.5 用户群组163.4.6 角色163.4.7 portal设置164 Portal架构174.1 portal和portlet的概念174.2 portal结构184.3 portal的组成架构194.4 portal应用架构214.5 Portal主要功能215 Portal标准226 liferay国际化236.1属性的国际化236.2 内容的国际化247 常用参数配置247.1 文件存储路径247.2 去掉公共页和私有页247.3 去掉用户第一次登录时的密码提示247.4 让没有权限的portlet隐藏掉247.5 上传文件大小配置247.6 liferay的登录认证形式257.7
3、liferay默认进入的站点257.8 event配置257.9 设置session258 liferay中常用的API268.1 获取HttpServletRequest268.2 获取UserId、groupId、companyId268.3 获取当前页面、导航的名称278.4 获取当前环境运行类型278.5 Validator验证278.6 ParamUtil278.7 password289 创建主题289.1主题目录289.2主题样式文件289.3主题模版文件299.4在eclipse下创建主题2910 创建Layout Template3211 常见问题351 环境搭建1.1 开发
4、工具1. 集成Liferay Portal IDE插件的Eclipse,在线插件安装地址: 2. Liferay-plugins-sdk插件包,开发portlet、theme、layout、ext、hook等插件项目,下载地址: 3. Liferay Portal RunTime Server,本环境使用Tomcat,官方有绑定好的,下载地址:4. 所需软件包1.2 打开集成Liferay Portal IDE的Eclipse从官网上下载右键new项目有Liferay视图则插件安装成功1.3配置Liferay-plugins-sdk1.4 配置antAdd External JARs到life
5、ray-portal-src-6.2.0-ce-ga1libdevelopment下找到ecj.jar添加进来即可。1.5 配置tomcat1.6 配置jre参数-Xms512m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=256m1.7启动服务以默认的用户名:test密码:test登录进去,如果出现如下界面表示启动成功。2 配置数据库有如下两种方式(1)liferay-portal-6.2.0-ce-ga1tomcat-7.0.42webappsROOTWEB-INFclasses下面增加一个perties的文件,里面放入
6、 jdbc.default.driverClassName=com.mysql.jdbc.Driver jdbc.default.url=jdbc:mysql:/localhost:3306/src_portal2?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false jdbc.default.username=rootjdbc.default.password=123jdbc.default.driverClassName=com.mysql.jdbc.Driverjdbc.default.url=j
7、dbc:mysql:/16/lportal_6_1?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=falsejdbc.default.username=rootjdbc.default.password=abc123_jdbc.default.driverClassName=com.mysql.jdbc.Driverjdbc.default.url=jdbc:mysql:/localhost:3306/src_portal2?useUnicode=true&characte
8、rEncoding=UTF-8&useFastDateParsing=falsejdbc.default.username=rootjdbc.default.password=123(2)可以在liferay-portal-6.2.0-ce-ga1tomcat-7.0.42webappsROOTWEB-INFlibportal-imp.jar中找到perties,注释掉Hypersonic的代码,然后把mysql的注释给消掉,最后重新将这个文件放入jar。3 liferay使用介绍3.1 访问portal输入默认用户名:testliferay.xom密码:test进
9、入,如图所示:3.2 添加应用点击左上角的加号,可看到系统内置的一些portlets,添加进来即可,可拖动放到合适的地方。3.3 管理3.3.1页面编辑当前页面,包括:页面类型,页面名称,HTML标题,样式外观自定义,添加子页面,访问权限管理等操作。页面布局:为当前页选择布局。添加页面时,可选择如下提示的布局,也可以自己开发布局。3.3.2 站点设置3.3.3 站点内容3.4 门户的基础管理3.4.1 用户和组织用户:用户是使用 Portal 执行任务的个人。管理员可以创建新的用户,也可以撤销现有用户。用户可以加入站点,进入层级组织,进入用户群组,还可能被消除角色权限。用户群组能够跨越组织界限
10、,用来将所有成员分配至其他群体组织,如,站点或者角色。用户群组还能用来为群组成员自定义个人站点模板。常规组织:公司,销售部门,市场部门等都是常规组织,如闵行区教育局,教育局各个科室都是常规组织。位置:分支机构,下属单位等都是存储单元,如闵行区教育学院,区管各家学校都是存储单元。3.4.2 站点站点是一系列页面组合,这些页面能够显示内容,也能提供特定应用的访问路径。站点的成员可以有高级权限去访问指定的页面和内容。添加站点有三个站点选项,如下图,分别是:(1)添加空白站点(2)添加社区站点:Site with Forums, Calendar and Wiki。(3)添加局域网站点:Site wi
11、th Documents, Calendar and News。 3.4.3 网站模板站点模板使得您能够在创建站点时定义所需页面和网页内容。管理员能够创建并编辑站点模板,也能够对其权限进行设置。3.4.4 网页模板网页模板:页面模板使您能够在创建页面时选择所需页面和 portlet 。管理员可以创建和编辑页面模板,也可以对其使用权限进行设置。3.4.5 用户群组用户组提供了一种聚集用户的方法,与他们所属的组织无关。管理员能够定义一个用户组并且分配用户组作为一个站点的成员,这也将自动地将此用户组的所有成员分配给了此站点。3.4.6 角色常规角色:超级管理员,游客,所有者,特权用户,普通用户。站点
12、角色:站点管理员,站点成员,站点所有者。组织角色:机构管理员,机构所有者,机构用户。例如,学校用户,部门成员等。3.4.7 portal设置Portal设置:此处所说的“设置”指的是与大多数全球性 portal 设置相同的设置,包括名字、身份验证、默认用户关联、邮件主机名称。其中的核心是CAS等SSO用户统一认证设置,如下图。4 Portal架构4.1 portal和portlet的概念“Portal”一词在英语中解释为“入口,大门”,中文翻译为“门户”。在Sun的Portlet技术规范JSR-168(Java Specification Request 168)中定义为:Portal是基于W
13、eb的应用,通常提供个性化,单点登录,整合不同资源的综合信息展示平台。Portal展现在最终用户面前的是类似于Web网页的Portal页面,也许有些Portal主页制作的更像是一个桌面系统的界面,更能获得用户的认可。构成Portal页面的是能够建立和展现不同内容的一系列Portlet。Portal使用Portlet作为可插拔用户接口组件,提供信息系统的表示层。Portlet是部署在特定容器内用来生成动态内容的可重用Web组件。Portlet处理从Portal传递来的用户请求,动态生成输出内容的一个片段,展现在Portal页面的某个位置上。Portlet的主要特点:Portlet 是基于Java
14、技术的Web 组件。 由专门的容器管理 Portlet 。 Portlet用于生成动态内容。 Portlet只生成标记片段,并不产生完整的Web页面。由Portal负责将Portlet片段整合成完整的Portal页面。Portlet不直接捆绑到URL。Web用户通过Portal同Portlet进行交互。Portlet具有预定义的模版和视窗状态。Portlet容器是Portlet的运行环境,它负责管理Portlet的生命周期,保存Portlet的定制信息。通俗的讲,Portlet容器就是Portlet组件工作的管理器,这一点类似于Servlet容器和Servlet之间的关系。4.2 portal
15、结构Portal是一个Web页面,它由一个或若干个Portal页面组织而成。而每个Portal页面又是由一个或若干个Portlet窗口构成的Portlet是以窗口的形式出现在Portal页面里。如图所示是一个Portal页面结构的示例,有四个Portlet窗口。 Portlet窗口由两部分构成:其一是外观,包含有标题条、窗口控制和边框样式;其二是内容,即Portlet片段。如图显示了Portal服务器、Portlet容器以及Portlet之间的关系。4.3 portal的组成架构Portal系统一般由Portal服务器、支持Servlet的Java应用服务器或Web服务器、数据库服务
16、器、LDAP服务器组成,此外还可以加上身份认证和访问控制服务器(Identity Server或Access Manager)等。前面所说的Portlet容器通常是打包在Portal服务器中的。有的Portal系统可以工作在具有Servlet容器的Web服务器上,但多数Portal要求在Java应用服务器上运行。如Liferay Portal既能在Tomcat(Servlet容器+Web服务器)上使用,也可以在JBossAS(Java应用服务器+Web服务器)上运行,而JBoss Portal只支持JBossAS的Java应用服务器。通常,Portal的定制信息是保存在数据库中的,几乎所有的P
17、ortal系统产品需要数据库管理系统的支持。LDAP服务器主要用在用户管理、身份认证和权限管理上。有些Portal系统也支持使用数据库来管理用户身份和权限。为了解决用户单点登录和访问控制问题,也许还要增加这方面的专业服务软件,如Idengtity Manager或Access Manager等。此外,Portal服务器也支持其它应用服务系统的协同工作,比如同电子邮件(Email),网络交谈(Chat),网络会议(Web Conference),以及基于Lotus Domino的OA系统等直接对接联动。4.4 portal应用架构如图是Portal应用的一个示例架构图。4.5 Portal主要功
18、能1、单点登录(SSOSingle Sign-On):Portal提供对各种应用系统和数据的安全集成,用户只需从Portal服务器登录一次就可以访问其它应用系统和数据库。对于安全性要求较高的业务系统,如电子银行、电子交易系统等,通过传递用户身份信息,如数字证书信息、数字签名信息等进行二次身份认证,保证单点登录的安全性。单点登录既减少了用户在多个应用系统反复登录多次认证的麻烦,更是简化了各种应用系统对用户及其权限的一致性维护管理。2、资源整合:能够把各种不同应用的内容聚合到一个统一的页面呈现给用户,实现同应用系统实时交换信息。能够从各种数据源如数据库、多种格式的文件档案、Web页面、电子邮件等集
19、成用户所需的动态内容。3、定制与个性化:能够为不同角色的用户制定不同功能权限的Portal页面。同时,用户自己也能够按照喜好在规定的权限下定制自己风格的页面和内容,如可以定制Portal页面,取舍不同功能和内容的Portlet窗口,自行布置Portlet窗口的摆放位置,可以对Portlet窗口外观,如标题,图标,颜色等进行个性化设置。4、协作功能:为用户提供即时讨论,聊天,论坛,电子邮件以及语音或视频会议等功能。5、工作流:支持根据业务处理规则建立起来的工作流任务处理,比如审批流程等待办事宜。6、信息检索:从多种数据源检索动态信息资料。7、客户端:除了Web浏览器外,可以为PDA和手机提供接口
20、,实现移动接入服务。5 Portal标准建立一个以标准为依托的Portal才能很好地保护自己的投资,既便于同现有应用系统连接,也使得同第三方的相关产品更容易接口。在2003年先后发布的JSR-168和WSRP两大标准为Portal的发展奠定了基础,结束了战国纷争的局面,Portal的发展和应用将会更加广阔长远。下面介绍几个与Portal紧密相关的技术标准:1、WSDLWeb Service Description LanguageWeb服务描述语言。WSDL是用来描述Web服务和说明如何与Web服务通信的XML语言。WSDL语言使用XML格式来描述信息的接口、访问格式和处理形式。WSDL描述信
21、息内容。2、SOAPSimple Object Access Protocol简单对象访问协议。SOAP是一种在无中心的分布式环境下,应用系统之间交换结构化信息和特定类型的信息所使用的基于XML的轻量级协议。SOAP允许任何信息对象在任何语言、任何平台上使用多种传输协议实现传输处理。SOAP定义信息的传输处理。在Web应用环境中,通常把SOAP同WSDL结合起来,利用HTTP协议实现应用系统之间交换各种类型的信息对象。3、JSR -168Java Specification Request - Portlet SpecificationJava Portlet规范。JSR-168为业界明确了P
22、ortal的定义,制定了Portlet规范标准,从而解决了基于Java的Portal之间,以及同其他Web应用系统之间的互操作性。遵循JSR-168的Portlet将具有适用于所有Portal服务器和Web应用系统,支持多种类型的客户端,支持本地化和国际化,具备确定的安全性,允许Portal应用程序热部署和重新部署。4、WSRPWeb Services for Remote Portlets远程Portlet Web服务协议。WSRP定义了Portal和Portlet容器服务之间标准化接口的一个Web服务标准。WSRP允许在Portal之间或其他Web应用上即插即用,具有互操作性,提供可视化的
23、、面向用户的远程Web服务。远程Portlet在远程服务器上作为Web服务运行,其服务可以发布到公共的或单位自己的UDDI服务器上。Portal或其他支持WSRP的应用系统通过UDDI服务来查找并使用远程系统提供的WSRP服务内容。WSRP的典型应用是把天气预报、即时新闻、股市行情等嵌入到自己的Portal中(在国外有专门的WSRP内容提供商提供这种服务)。WSRP使用了WSDL定义应用程序的接口,并以SOAP作为通讯标准。5、其他规范标准此外还有一些与Portal有一定关联的技术标准,在开发建立Portal应用中将会使用到:UDDI:Universal Description,Discove
24、ry and IntegrationJSR-170/283:Java Specification Request - Content Repository for Java Technology APIJAAS:Java Authentication and Authorization ServiceLDAP:Lightweight Directory Access ProtocolSAML:Security Assertion Markup LanguageBPEL:Business Process Execution Language for Web Services6 liferay国际
25、化6.1属性的国际化新建liferay portlet时选中create resource bundle file可自动在WEB-INF/src/content/创建Lperties文件,如下图:也可以在content下绑定具体语言的文件,如Language_zh_CN.properties在此文件中写入javax.portlet.title.portletName=中文标题名称。6.2 内容的国际化Jsp中引用LanguageUtil.get(pageContext,”propertyName”);Java代码中LanguageUtil.get(porletReques
26、t.getLocal(),”propertyName”);第一个参数是Local,也可以是Local.CHINESE,第二个参数是资源文件中的变量。7 常用参数配置7.1 文件存储路径iferay中的文件存储路径默认是保存在和tomcat同级的data/document_library目录下面,如果想要自定义,可以修改以下参数:dl.store.file.system.root.dir=$liferay.home/data/document_library这里定义的即为系统的文件存储路径,默认是和liferay.home的路径有关的,相对于liferay.home的相对路径,你也可以设置绝对路
27、径,如下:dl.store.file.system.root.dir=E:/liferay/document_library7.2 去掉公共页和私有页layout.user.private.layouts.enabled=falselayout.user.private.layouts.auto.create=false7.3 去掉用户第一次登录时的密码提示Users.remider.queries.enabled=false7.4 让没有权限的portlet隐藏掉Layout.show.portlet.access.denied=false7.5 上传文件大小配置dl.file.max.si
28、ze=10485760 单位字节,这个配置是10M7.6 liferay的登录认证形式使用屏幕名称:company.security.auth.type=screenName使用用户ID:Company.security.auth.type=userId7.7 liferay默认进入的站点=xxx后面的xxx这个具体等于多少,要查看数据库表group_表,此表里面有许多的社区,在此表的name字段下面寻找我们要默认进入的站点名称,替换上面的xxx注意:如果这里是中文字符,需要转换为unicode编码,如:Virtual.hosts.
29、=u5927u55107.8 event配置Event不但可以portlet到portlet传值,也可以一个页面到另一个页面传值,但要在perties中修改一下:将上面的改为portlet.event.distribution=lalyout-set7.9 设置session 1.在perties文件中找到如下一列session.shared.attributes=COMPANY_,LIFERAY_SHARED_,org.apache.struts.action.LOCALE,PORTLET_RENDER_PARAMET
30、ERS_,PUBLIC_RENDER_PARAMETERS_POOL_,USER_,DIC_SHARE_USER_JOB在后面添加一个自己的session参数即可,如上DIC_SHARE_USER_JOB为自己添加的参数2.在liferay-portelt.xml文件portlet下设置<private-session-attributes>false</private-session-attributes>3.发起portlet存session,设置如下:request.getPortletSession().setAttribute(“DIC_SHARE_USER_
31、JOB”,strChoseJob,PortletSession.APPLICATION_SCOPE);4.取sessionString str=ObjectUtils.toString(renderRequest.getPortletSession().getAttribute(“DIC_SHARE_USER_JOB”,PortletSession.APPLICATION_SCOPE);8 liferay中常用的API8.1 获取HttpServletRequest在一些特殊情况下,我们希望在portlet中使用原生的httpServletRequest,可以使用下面的代码获取,下面分别是re
32、nderRequest和actionRequest,可以将renderRequest和actionRequest转化为HttpServletRequest:HttpServletRequest request=PortalUti.getHttpServletRequest(renderRequest);HttpServletRequest request=PortalUtil.getHttpServletResponse(actionRequest);8.2 获取UserId、groupId、companyIdLiferay中的二级开发,在设计表的时候强烈建议为每一个表添加groupId和co
33、mpanyId,这样我们的系统就可以在不同的站点,company下面独立使用。获取这些参数的代码如下:Long companyId = PortalUtil.getCompanyId(actionRequest); Long userId = PortalUtil.getUserId(actionRequest); try Long groupId = PortalUtil.getScopeGroupId(actionRequest); /获取User User user = PortalUtil.getUser(actionRequest); System.out.println("
34、;companyId:" + companyId + " userId:" + userId + " groupId:" + groupId); System.out.println("User信息如下:n" + "Email:" + user.getEmailAddress() + "全名:" + user.getFullName() + "密码:" + user.getPassword(); catch (PortalException e) / TODO Au
35、to-generated catch block e.printStackTrace(); catch (SystemException e) / TODO Auto-generated catch block e.printStackTrace(); 8.3 获取当前页面、导航的名称Liferay中的导航其实就是一个个的页面,这个页面对应于liferay中的Layout这个实体,其实要获取页面/导航信息,只需要获取到Layout即可。Layout在jsp中通过下面的两种方法获取Layout layout=(Layout)request.getAttribute(WebKeys.LAYOUT)
36、;或者是添加以下的标签:<% taglib uri=” prefix=”liferay-theme”%><liferay-theme:defineObjects/>有了上面的这两个标签,即可直接使用layoutLayout.getName就是页面/导航的名称,通过这个可以获取父页面的信息,子页面的信息等。如<% taglib uri=" prefix="liferay-theme" %><liferay-theme:defineObjects/><%=layout.getName() %><!- 页
37、面/导航信息->8.4 获取当前环境运行类型If(ServerDetector.isTomcat()/Tomcat Server.else if(ServerDetector.isWebLogic()/WebLogic Server8.5 Validator验证com.liferay.util.Validator判断字符串、数组等是不是为空Validator.isNull(String s);Validator.isNotNull(String s); /判断是不是Email地址Validator.isEmailAddress(String s);判断字符串是否为ascii字符:Vali
38、dator.isChar(String s);判断字符是否为ascii字符:Validator.isChar(char c);8.6 ParamUtil/取字符串String name=ParamUtil.getString(actionRequest,”name”);等于String name=actionRequest.getParamter(“name”);Int PramUtil.getInteger(actionRequest,”age”);Double ParamUtil.getDouble(.,.);Boolean ParamUtil.getBoolean(.,.);8.7 pa
39、sswordliferay的password是编码过得,而且是单方的,不能反过来,只能把你的密码编码了和数据库比较.看liferay的源码com.liferay.portal.action.LoginAction这里面有:PasswordEncryptorUtil.encrypt("123456")9 创建主题Liferay中的风格包在html/themes下9.1主题目录css:该主题的样式文件images:主题的图片文件 javascript:主题所需的javascript文件 templates:主题的velocity模版文件 9.2主题样式文件main.css:主样
40、式文件 base.css:基础样式 custom.css:个性化样式 form.css:portlet中form样式 layout.css:布局样式 navigation.css:导航样式 portlet.css:portlet样式 tabs.css:表格样式 注:主题的样式要写在对应的样式文件里,这样维护方便。 主题图片: 注:主题的图片要放在对应的文件里,这样维护方便。 9.3主题模版文件 模版初始化在/html/themes/_unstyled/templates/init.vm portal_normal.vm:是整体portal模板 它包括了: -banner部分 -logo徽标 -
41、dock管理工具 -navigation导航部分 -Portlet容器部分 -bottom部分 navigation.vm:导航模板 -当前portal的子页或子portal -我的空间(当前用户能访问的空间或工作区)dock.vm:管理工具模板 -首页 -我的账户 -登出 -登入 -添加内容 -风格 -页面设置 portlet.vm:portlet模版 -top -body -bottom 9.4在eclipse下创建主题File->new->liferay-project如下图,选择theme项目结构如图所示在_diffs文件夹下,修改相应的文件来适应自己的需求,然后部署到服务
42、其中然后在站点页面中即可看到部署的主题,选择使用即可,如下图所示:10 创建Layout Template1.在E:liferay6.1.1liferay-portal-6.1.1-ce-ga2-jajboss-7.1.1standalonedeploymentsROOT.warlayouttpl(本人的目录是这样的)中找到custome文件夹,在此文件夹中创建如下三个文件:xxx.tpl和xxx.wap.tpl内容一样1.1_2_3_2_columns.tpl<div class="columns-1-2-1" id="main-content"
43、 role="main">#if ($browserSniffer.isIe($request) && $browserSniffer.getMajorVersion($request) < 8)<table class="portlet-layout"><tr><td class="portlet-column portlet-column-only" id="column-1">$cessColumn("colu
44、mn-1", "portlet-column-content portlet-column-content-only")</td></tr></table><table class="portlet-layout"><tr><td class="aui-w50 portlet-column portlet-column-first" id="column-2">$cessColumn("column
45、-2", "portlet-column-content portlet-column-content-first")</td><td class="aui-w50 portlet-column portlet-column-last" id="column-3">$cessColumn("column-3", "portlet-column-content portlet-column-content-last")</td>
46、;</tr></table><table class="portlet-layout"><tr><td class="portlet-column portlet-column-only" id="column-4">$cessColumn("column-4", "portlet-column-content portlet-column-content-only")</td><td cla
47、ss="portlet-column portlet-column-only" id="column-5">$cessColumn("column-5", "portlet-column-content portlet-column-content-only")</td><td class="portlet-column portlet-column-only" id="column-6">$c
48、essColumn("column-6", "portlet-column-content portlet-column-content-only")</td></tr></table><table class="portlet-layout"><tr><td class="portlet-column portlet-column-only" id="column-7">$cessColumn(&
49、quot;column-7", "portlet-column-content portlet-column-content-only")</td><td class="portlet-column portlet-column-only" id="column-8">$cessColumn("column-8", "portlet-column-content portlet-column-content-only")</td&
50、gt;</tr></table>#else<div class="portlet-layout"><div class="portlet-column portlet-column-only" id="column-1">$cessColumn("column-1", "portlet-column-content portlet-column-content-only")</div></div>&
51、lt;div class="portlet-layout"><div class="aui-w50 portlet-column portlet-column-first" id="column-2">$cessColumn("column-2", "portlet-column-content portlet-column-content-first")</div><div class="aui-w50 portlet-c
52、olumn portlet-column-last" id="column-3">$cessColumn("column-3", "portlet-column-content portlet-column-content-last")</div></div><div class="portlet-layout"><div class="portlet-column portlet-column-only" id
53、="column-4">$cessColumn("column-4", "portlet-column-content portlet-column-content-only")</div><div class="portlet-column portlet-column-only" id="column-5">$cessColumn("column-5", "portlet-colu
54、mn-content portlet-column-content-only")</div><div class="portlet-column portlet-column-only" id="column-6">$cessColumn("column-6", "portlet-column-content portlet-column-content-only")</div></div><div class="p
55、ortlet-layout"><div class="portlet-column portlet-column-only" id="column-7">$cessColumn("column-7", "portlet-column-content portlet-column-content-only")</div><div class="portlet-column portlet-column-only" id=&qu
56、ot;column-8">$cessColumn("column-8", "portlet-column-content portlet-column-content-only")</div></div>#end</div>2.在E:liferay6.1.1liferay-portal-6.1.1-ce-ga2-jajboss-7.1.1standalonedeploymentsROOT.warWEB-INF(本人目录如此)下建一个liferay-layout-templates-ext.xml<?xml version="1.0"?><!DOCTYPE layout-templates PUBLIC "-/Liferay/DTD Layout Templates 5.2.0/EN&q
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 让爱传递你我他-2025年教师家访心得体会模版
- 区块链科技引领商业变革探索未来趋势的五大方向
- 三年级上册数学教学工作总结模版
- 商务礼仪师考试的职业素养提升途径试题及答案
- 供应链金融中区块链技术的融资策略研究
- 区块链技术未来商业的新引擎
- 《高血压宣教》课件
- 企业员工健康管理的策略研究-基于医疗大数据视角
- 智慧交通基础设施的建设标准试题及答案
- 2025标准租赁合同范本2
- 废品入库单模板
- 2023年版-肿瘤内科临床路径
- 婚育情况登记表
- word精美小升初简历欧式模板
- 复旦大学附属眼耳鼻喉医院耳鼻喉进修汇报
- 岩芯鉴定手册
- DB32-T 3916-2020建筑地基基础检测规程-(高清现行)
- 快速排序算法高校试讲PPT
- 甘肃历史与甘肃文化
- 2022年执业医师证件租赁协议书
- 太上三官宝经(共12页)
评论
0/150
提交评论