供应链管理系统汇编_第1页
供应链管理系统汇编_第2页
供应链管理系统汇编_第3页
供应链管理系统汇编_第4页
供应链管理系统汇编_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、供应链项目安排搭建框架一天4天左右基础数据模块和权限管理应收应付和销售管理5天左右涉及到的框架的知识点的重用 dao层的重用service的继承机制的应用js的插件开发jquerydiv框弹出概念学资学习网提供考研资料一个供应链系统是一个公司通过供应商采购商品,把商品放入到仓库中,该公司在销售该商品的时候,再把商品从仓库中提取出来,卖给客户的过程其中有三个订单:采购订单销售订单)公司内部仓库之间的商品的调拨(调拨订单关于供应链的大数据方面的内容数据挖掘ETL: 数据抽取BI: 商业智能daomavengyl创建一个工程 web添力口支持 maven岸Lsrc/main/javsi theina

2、Ll_gyL编辑文件 pom.xml尹 src/est/Jiva1.尸 sre/tait/reicurcesJ * ,RE 5了工tem LibraXy :JtvEE-LbtTT1 U epERdenc i e juni t_4. jar rmavmiaxis-p&ol_ 1.3. j: #cii应 了FttlCwfRELEASE.二+ - n spri ng-be a(ns-3 2. Z. BELESE. jfj io spring-contsxt_3 2 RELEASEj 1,liaX,dLLJi j| Ucom. iiheimall. gyl b电且gd机士电.dcm<L_ . I

3、Depar java学资学习网提供考研资料写持久化类和映射文件. TlIidh. zml写的配置文件 spring目市e子匚手的映射文件的羁老czaljelasspatnzcon/itfieinall/pyl/doma Ln|该系统要创建的映射文件的包为:com.itheimall.gyl.domain.basedata com.itheimall.gyl.domain.privilege com.itheima11.gyl.domain.xsgl创建一个测试类,生成表框架的搭建封装的需求 dao1、供应链的所有的模块都用到了查询该查询是分页的该查询还是按照条件该查询是按照数据来查询的2、删除

4、的操作1、有可能一次性删除很多行记录2、有可能删除一行记录3、根据id查询持久化对象4、增加操作、修改操作5.的封装 dao查询的实现PageResult/壬衰的当前页码te int 亡 Htfun二 F3g白;子麦苗当耐用四private lutpublic int g巳tuu匚匚EntFagE EhidDO rstuzD currentPyQ_2liii); 一public void set CnrrentPage_zhLt (int cur ren-tPage_zhii i this.curientPage zhib * currentPagezhtb; / 一见显示的泵酬private

5、 htHm融梦private int tDtdIRoiwSjH总页梦;计首出耒private int tctalPags;H当前为的好据private List raws = new ArcayLj.5t () fBaseQuerypublic abstract class 白亘白巳。匚巳二了 /*.织平值二,甲中3尸甲元不老装活注电? J-fr / /private Mp keyVdlu = n*x Ha.3lrtMapgf Obj &t ();public Mdt!htrinaJ Cbjuct. gotLoyVlus ()(re turn keyVd Ltiuar)pukli.a void

6、 f:et Keyvalijis (?tap Iceyalues ) this.keyVlue5 = fceyValyesff)f*能f*杷口京LLff.五闻IT笄流的一彳Mjp* 耳月五回一$ Mtuxilpublxc abstract J4apKtrinqbcii.j.c!h.eE& );BaseDaoF B 崔 m ao 0IB, findT/eEvsUt (Saseftucry) ; F*髀Rs山七廿聿 fi ndlntry () Collect ionT) saveZnlry(T) : voi d?-。 TipditeEntry0) , voiddel 11 e En tr i e

7、sByl US (Seri al it able l) , voi d O del a t eEn try CS r i al i z aibL ) . 1741d# getEntryJyIi(Ser i ali r able)getEntri esB7Ids S*ri all Eible)。 get Count I as eQuery) intBaseDaoImpl1、在构造器中public BaseDaoImpl()/* this代表子类* this.getClass().getGenericSuperclass()就是父类:BaseDaoImpl 泛型* 如果不带 T,this.getC

8、lass().getGenericSuperclass()返回的是 class 类型,而不是 ParameterizedType*spring(2.x和3.x)容器不支持带泛型的创建对象*/ParameterizedType type = (ParameterizedType)this.getClass().getGenericSuperclass(); /得到t的实现类型this.classt = (Class)type.getActualTypeArguments()0;得到了 T的class形式2、在init方法中PostConstructpublic void init()/ 初始化方

9、法this.classMetadata = this.hibernateTemplate.getSessionFactory().getClassMetadata(this.classt);得到了元数据的形式3、getCount 方法方法的参数为BaseQuery,在该 BaseQuery中有一个方法buildWhere ,利用该方法可以得到查询条件的map形式拼接hql语句的where条件语句动态的传入参数的值方法 findPageResult 、4.同上增加的实现overridepublic void saveEntry(T t) / TODO Auto-generated method

10、stub this.hibernateTemplate * save(t);删除多个数据方法得到一个 list,find字符串,利用 hibernateTemplate的 根据ids-即可。list方法删除 deleteAllhibernateTemplate 再利用 的strtn.ghuf= neu trinqnaf() / foi 41nt 1 = 0; t ids.length; 1,+) 土 Jt=i 许工-egtTi-l) r-append ic3iJ) a )alg-4 1stringBjf f ,aopfetidddsLii J JstiingfBLLflei hql = new

11、 stringsufter( I; 尸喧, L1j_3 . cIjl JL: i 叫-_Maik f 是1i,,工F(f 忘疗/hq L.appp-nd ( t l * tliiE -二 1.自ee t. 9贮七占impleNans I);L士 this. claS3Matkjdaa.getIdntifitfEPropQEY1Iaj f)持大修抬的右洋 F t fhl .append1F-thl.E. jairPraptityNi 0 );hql.app&nd( inC);hcl append (strinr3Lffer Lt:ci5tr nn) I;hG a(pgnG();List list

12、 m thl*thiberriLateTenipLate find (hgltoStrinq” tEis-1,Lterns.At*?.dletezi 1t删除一个数据(Overridepublic void dsleteSntry (SerializaMe id) / :COQ gneiatei m七仁三0二 3二口工T t = CD thi3 , nibemateTenE: Late .getid),this. IiiJoernate:Template. delets (t);的封装需求 service把service层的crud的方法就可以封装在BaseService中的封装 servic

13、eBaseServicepuhlid intentaea BassService?uiCL 工亡 =三 4 三 J.三:ult _、i fir al 二 s,二;刁二三1丁 七三二二a三丫寸卜:public void KaveRntry(T t);publie void updateZntry(T t)?pvibli ? get E at r y By I d (Ser i a Li z a;? Le idj;pxjbllc void deleteZntziesEylds (Serial izable ids);void 3曰工曰tEMrrt二ym?工dL匚ialimaiJlE id);Bas

14、eServiceImpl1、public abstract BaseDao getBaseDao();这是一个抽象方法,谁继承,谁实现 因为在该类中没有办法实现2、在spring的配置文件中,添加事务的注解解析器r中.-7lc=Hitr 口息了金鼻s- F7肃pu11nli:二4口=丁。mrhim匚看s1号/axlmr匚三t三丁工m门音口工t5口二n胖工叱prciftsrrjp n1加=寸口工方iojn门口世ry*十: -1 三口,-.d! -.L e I?. . 4 -iLrt .!. .-*;? la B i tJ-ikadi J I. yyi H C nLxL :c 一 ; Lean -

15、1prDKy-Carqr-Ias s-*t rue * 立聚日印奥二琮彳握口,也叫I用匚守工!七 ; x.jrinr.p ;;7i :n- :vt. tLiniCCionniiagr=*rrs.5J-ric1Wifli*/ -、其中的一个方法3Trans a c t ioripublic void-Ldalfesprini;/ TODO Ant。一g二丫甘tHbln兰士立白小 stub this,qetBdseDao().updateEntry (t);的封装的需求action把模型驱动进行封装把得到session进行封装把一些字符串封装的封装 actionBaseActionprivate

16、Cl a 5Sms 5七二pxlw4f T L;public E355.A=tlen()Na工丽Tt、t: 七.jnlift = 门曰1_曰即?匚电eLe电GTyyEj m二g。- g-;R;enTr J匚;thls-eliSst . (class j tfieJliTtiialTL-p5ArgLiiflefits( J r t Itin4, t = IT thii. rlart. newlrutatit t) ?J CJitPh 4EX匚白p匚1口h 0 ,;*ro&o nuti- dnrst*d亡h bla-ks4piintstacKTraceu;86 FT Empublic T JtMC

17、Kl10 |,j TODO utc aonr.itncl owitficKl 击工ubTAturn tTli b t;publis statLe final StriTLj ALDDI ” |rj3JUIITj /!“丁字.三puJblic String -s J la 尔Jr;学资学习网提供考研资料public static final string FBATEVI - *up(3at专l;工、废样物奇盅面面的翎串public string updateui 二 口pdrteuf;public 七.ticString UfTACrKW 工工istflctitjn,?/,脚晒加制去硒的字料理p

18、uhlic striftg-puljllc stStLc Ilndl 5L1 iiL R.CTiON2ACTTN - dt.匚 i Ch;?tl二L iun”; ,小,t i . npublic trLtigacr.iA2ictloA - zcrirw2Amcw;*工-r百金W司生白st二口rX /public Http Session m巳七二巳石与工口口”;胜包 turn g ruL 建 3ut:iciru二口的 1:0 工亡 + 卬首匕食皂qr 号ft $ J aqtsS5Lon ();泛型概念就是java语言中的一种类型国E.国田?Goo。 j ava. Img rafliectCla

19、sEQ 4 1 :=jlsAJIypsd) - or事 ujkftctj.r lc tu 力7心 .仃?七,Typ * Ar jijreri摩片 0Tt 十匹/7赛辽宁 丁昨甘5 T碗上F:yjy 0例如:public class BaseDao BaseDaorawTypeT-actualTypeArguments 第一种传递参数的方式:public class SubBaseDao extends BaseDaopublic class DepartmentDao extends SubBaseDao或者public class DepartmentDao extends SubBaseD

20、aoDeparmentDao departmentDao = new DepartmentDao();第二种传递的方式:fnzhlr p* 间内39|pllilii: UN gw JWllDSD面rDK .glif*.E口曰土口/时船心” .0k N皿曲曲奇但|蝇,广jBaseDao(); new baseDao= BaseDao7ii 七仃jcT- enraJ s 予初由项目开发基础数据模块 department仓ij建 action1、创建一个包com.itheimall.gyl.basedata.action类 DepartmentAction 、创建一个 2,品口/,9LU江七一pub

21、lic ciiut ppjiitMnUetlon dxUflO Basaher 16n: ? Ei3X* zi三下 at七二7”: 二 e * *pci v t- E- ps r+ tia n t T i ir: cf- p - r -11 Tf- : v nr. ?private CEpmrS匕力匚umry 匕三二egEfy - 口已 gpmEtiawnM:自工 y, ?pub-Llt? String 5h-xrag&Fejult ( E aqwR=自ULtV二咤P = 1匚A q令m;L工;ll: - liii .Uvpd1V f ;Ac:tiaaCocjtEX t g ttTon tex

22、 t () put (*depdrtra n ta- , d epdr timiiL s t return HatActlOi ;)测试 action准备关于的配置文件struts2department1-1 靖 sr c/mii n/r e sour cest jjjJ CMh. itheimal 1. gyl川区 spiringj _xTsTDasedatatiess tr ut s- dp ur le wit L xmlFl ? src/Ust/java总的配置文件cE MJt电5t/l电士口旨士白占准备文件和文件css images准备结构jsp12 .aa.b 5,/ H iS1 b

23、iE4djLtL后:dcpartiftent二令 businessE1c*omrtofLprivil在下仓【J建个页web-inf/jsp/gyl/basedata/departmentjsp准备文件 web.xmle l pa 加一 一 _斗厂! i :二j二由二。工,i,1后 一口 :邛;J1|vd匚财b产贷Lna2L/jyl/ip ntet-L iLlist.jsp显示的歹U表departmentinput械数尽II毂浸畲姗除V 把分页的组件加入到页面中阐gi. ki时缺/耳皿:1芦、明乎15丫乃即:ri*.,“injtd typr czrarl 门户4口旧土上-咛与,“,/二,Ji _

24、fl . * jl| J .11, Hlllijl Irpff- t-ultcc ErrxT ) 口:上皿匕口口111?跖,二01胃上 尼旦一同 上月,,彳解旧节需 l*T-F f.s* S 1叶.中f,E”、*小铲f ,.I* ? 丁班印旬出地题里啜 血叫-1皿工。比:丁/口1匕叶股:占1苴&注”|.。1加也.也!、贬血:11川/:由谍才ryi产层m淮工 m二:轲HnfTLM匆jm /予UKtEGrH. bgmi吧工”加仃则渝加;就现Cimm 即cGmE Em;卡和点仃更,SpnM翻e碉),黯1电mv池工修【疵时新强君爵,曲|撩却11m7Ml堂ig妣间吃过上口男说明:1、每一个input元素

25、中有一个 param属性,根据该属性的值可以知道操作以后 要显示的页面是第几页2、flag属性是用来标示哪个按钮写一个通用的分页的处理jsGylUtils.jsvar GylUitls = /基本数据模块basedata:/分页的处理dispage:linkNextPage:function()/* this为当前的按钮*/var currentPage = $(this).attr(param);var url = $(ody).data(%url);window.location.href = url+?currentPage=+currentPage;注意的事项:baseQuery.cu

26、rrentPage这种形式传递参数不行/基本数据模块初始化事假initEvent:function()/初始化了分页的事件;动态的加载 checkbox删除buttoninput械数尽詈由H畲姗除或者是一个input械数尽II毂浸畲姗除0 .L =auEOrJULTClifFn1.2 父Littonjquery-plugin-delete.js该插件描述了三个功能:1、删除功能如果没有选择 checkbox ,则提示选择window.confirm 的提示2、绿色的表示对数据中的checkbox的控制3、蓝色的表示对控制的checkbox的状态的控制BaseAction/方志* F黑网苴上的删

27、除亲耳七心十七电口1* 次1ue=册除上过神珏式*/private String cnsek:5ci-r:获取被选中的复选框的值,并且把值变成字符串的形式DepartmentActionpublic String deleteDepartnients 0 String ids = this() .=pLit (T N);ttiis.departmentservice .dsleteEntziesBylds ids);return action2dction;删除submitjquery-plugin-delete.js5,dpietpOojForm - function r)5 (* i np

28、u L typ 1 subm i t1 ” ).匚nLind (亡:1_1七上伴),$(*inputtype=, siibnLLt, ,F) .bind(click*, runetloa( if window. conf 21m1(您诲认觉州除吗? ,T)(re turn Sue;I ele-f)BaseAction力如累血直上的删除不用Input type=,sul3nilt usQu2二删除行这种形式* (i re turnprivate Iiang ids;DepartmentActionpublic String GeleteDepaEtment5f)/String ljd_3 = t

29、hi 5 4 jtCheclf&dSrr .spl it (,);this -dprtm.&iLts&rvieG. d&leteEritriasByitis (this .getids I,: re turn actinZact)增加list.jspd Jnef- pjr Ljcei?.bJ2_ d JdOl *口匚1_ niBig. a rc*$ pageCpnrequest Acp n textPa th/iJBag as/craa teNby*jin/g /public String addUI()return addUI;DepartmentAction add.jsp修改jquery

30、-plugin-update.js用户模块持久化和映射文件UserDaoUserDaoImplUserServiceUserServicelmplUserQuery增加注意事项:跳转到增加的页面:中的代码:actionpublic String cd加工 Uj.列出T1的郃1T/ col lect i onsDepartDent7 departme-Tits 二 Uils. ctepartnentservice. 9etEnt r ies (| rAcrioncntRKt.ext )pi止(匕小口;什-”广,111;占。 dpartjrntMj rmtutn dnnr *add.jsplist

31、属性 数据的来源listKey 0Pticn中的value1 istvalue 0Ption标签中的内容userAction:puhLJjfiadd |/ 青/L蕊帘产的一汩同性+ 2,演汾广圆.忙哨.唱的eiepaiEKR七对井啾华F 士 3,茸大门户与邮口二闾中工启台au u3电工=new 口ar1 11 fBanucils.115thia, getM:?del ( T iiar);UtpartttieQt tlepartrttEntthis.dfipartnu&ntservice.getEntrysyidttls.did);,建立至内与密之间奥 ,;=r. setE-epa Ytrr.n

32、ttrsnt i tL用宁明部门.,w户负盘在沪箕书 tills, lierrvl ge 3ftveFrit.ry (吕e); return .irl- nn?nrr i or r修改注意事项:页面上的值的回显一般情况下是根据页面上的name属性,在后台的 action中必须把值放入到对象栈中。注意事项i:ri;r -nr ,* .; : 口 Tu:r rarrm1:;*-.:-小-=L ! J ;iti t彰里Ekis川14.卜5 1ijjet nrHaSuft ELifC !IT1iiuiL iifi u bl- -权限概念1、认证 (authentication)登录用户名和密码的登录2

33、、授权给用户权限权限:权限和资源是对应的资源:url菜单 控制功能:页面上能够点击的元素action 中的方法 控制 注解的形式springAop struts2 的拦截器数据权限框架1、 Spring Security通过过滤器链的方式,内部通过aop 的技术把这些过滤器联系在一起的主要控制url该权限必须建立在spring 容器基础之上该权限和web 容器有关联2、 shiro与任何框架都没有关系与 web 容器也没有关系3、自己公司开发的权限框架步骤url菜单、功能、权限这些元素,如果系统做完了,这些内容就确定了角色相当于权限的集合,要以树的形式进行维护给角色分配权限给用户分配角色控制访

34、问权限zTree是jquery的一个树的插件创建的步骤zTree1、准备一个样式文件和两个js文件link rn - zTr-ceEtyLe/ zTreeStyle .七二工曰=七ext/p胃”C script 七 7r 三一tc Jt冬2,遮斗uh*工匚AUXSHtsaciRjr 3H口po学资学习网提供考研资料2、在页面上准备树的容器cis工三天trcF clfls j-tr-e11333、写js代码创建树J(doc-in:enc r=ady (imc tioji () zTree = 0*t=弓七”).工工二atf巧ut七工口目. iNodes)zNodes描述的是树上的节点为整个树的特

35、性setting权限实现的详细步骤权限的实现1、准备持久化类和映射文件(Menuitem)2、准备一个测试类MenuitemTest.java3、把准备的数据存放在数据库表menuitem中4、加载 zTree:1、准备js文件和样式文件+ .t images白Qj i园 r-国:卜:国I【鸣GylUtils jij(pierjr*l. 4. 2. j sj query-deLet . j 5j 4urjpLuQivupd&t*. j 1S -fe META-IHF田,产style由给 WEB IMF-J 十intg2、准备 menuitem.jsp 页面3、准备 menuitem 的 dao

36、,service 和 action4、准备struts2的配置文件 rjainc=nraQnuiJfl class=七匚=占_匚typa士罐mu;l匚sl1.$T/王二tziori包的名称为:json-default 自定义的结果集:json 3、准备一个js文件menuitem.jsvae mcnniten .setting:Is iitp工皂tA : tl Uert工eeKotltKeV : ztid rt reexode r ent 或e y; i e1rli, show!isei 匚euwroot:IiSRDDt ::工困nodes; Ilo皂dMnuit2自:iunation: tS

37、 .pos t 11 rayn Liityt irlj i LiPi 4.义二=ih* riul i r iunc t tan ! tij La?$ h i- - :en) .zTree inenuit&n,settingr ddta.; 匚,rc aly Cuaction :me n i tern. loadMa nuitemT tee 0 ; I J角色1、写持久化类和映射文件体现用户和角色之间的关系2、创建一个角色树的根节点:CEO创建根节点:dao,service,action配置文件写RoleTest创建根节点public void t-&6CSdv&R01e () RolGServ

38、icG rale service; - (Holestivic&J context.getEsan( roles ervics);Role t = T14W H11 & ( t ;t . setlsfarerat (true 4t .貂t_N白曜(比EA ”匚.SGtP i II ( OL ?rolesrvi re,?svariTTyft) ;3、对于角色树:1、创建角色树2、右键菜单3、增加角色、修改角色、删除角色注息:role.jsp要创建角色树,必须访问白 WEE-IHF: 日田J =P白,氏67工B栓b泡豆些dkt昌 i ; 住I犀白白p息妇七的通盘七-1 rolerlt, jsp所以

39、必须转发才能访问到role.jsp ,所以要建立ForwardAction创建树LoadRalerree:functionS.post(rolsAction,acti5n1, nullP function Cdat): f (n tFrcleTr=e,1) , zTzee .role tree- 1 /liDn ;e15 jid 1m J 仃卜 罪专;三; f心口 PdtljJ .J =14/川行心j j-U.i i rl- Lpdl taRrrJ* -i-yl asJTSUfid: 1j1T34.胃口力上窝ir n育 |h| f jJa/wiffysfl/j j jin ., jpijJ中添

40、加右键事件role.jscs|LLback; 回跑数rightClicIc: function :event, treIdf treeModm,.roletree.data,treeNode 二 treGNodQ;rol &tree_ 3howRMe?nu evnt. clientX event. dientY);通过上述的代码添加右键事件.当鼠标移除区域的时候,自动隐藏divdiv$ (H4rMenuJ .hover iEunctl(m() 进入赳配nu区域的时便做的事情f function () /出事澳区域的时候他的事情$ C*iFrenuR) , hide (););给添加角色、修改角

41、色、删除角色添加事件/初始化事件roletree.Init - initEvent ();添加角色有,;iUKciL型 xunctron jvarvirrl-w praupt : 15V( 17*!;if ToleName) 尸.* THE-T角社之田.工同Il功IEM室下正西可理 1* /5 . pojtcr_3hwPca|rticnn,g&jde; roleNie. function da七机) if gta - -i-n,瓦明*.r pdramtr -pid: rolatn.tEselffoda,d% . Bi六口户丁 江二丁 :;就一菖丽:油田也干. inPd.rwn 也: f alr

42、 *$ r past r o 1 -Act ion_add . acrt ion paraiinat2工. fwcticD (datjil var n至wModQ =rid:力事七a1.匚Ld*n a: g 1 2Ham tpid 二 role-tree, data . treeWode / nd l2Parnt: faL 思路:打开一个对话框,添加一个角色的名称,后台校验角色的名称是否可用ax来写)如果可用1、发出ajax请求,在后台的数据库中添加相应的数据2、在前台角色树中增加一个节点如果不可用,提示修改角色删除角色权限配置需求:当点击权限配置的时候IPtTT* u或三口用北哥B gIft

43、srs9ft1ttMi1i耳田msMAMmm不通摊|13KO科Q息图1遇卿平细E比iHErffi立活F治夏1不当点击设置权限的时候点击上面的保存按钮力:俏叫nIF断猾首 ThTr-:-“ii步骤创建一个页面jsprole_privilege.jsp在中添加一个方法RoleAction立在艰阳设缶漠块,显示用色的色曲public String showRoles()Collection roles - tills *rcLeScrvice.getEntries;Act! one on texttContex t (1 .put (Irrolcf r rolcs;ieturn IlstAc 11o

44、n;在文件中 struts-role.xml一 P-jll tlAJtlu: . d:.W= hcL-aytU士M-tiwFiTlHL *-.1 x ; . fii-mc=*,rc.leP/:1.L占白口=m“ cldJLi- rOitActi?ii QSjlt nan- idstActldRiWB/gyl/prlvlL啊。/21 电_pc 1 vllqe.)spc/zeultDp刁二;.卯中准备的持久化类和映射文件 privilege学资学习网提供考研资料role_privilege.js框架结构var role_privilege = data:role: rid:, name: zTre

45、ePlugin:, opt:roleOpt: divOpt:, roleTree: , init:initData:function(), initEvent:function() ;填充事件在 initEvent 方法中填充事件设置权限的事件:显示隐藏的 div给 role_privilege .data 中 role 赋值动态的显示角色的名称加载权限树设置全选复选框的默认状态为不可选角色配置权限的控制不同的用户访问不同的菜单登录界面 login.jspLoginDao,LoginDaoImpl,LoginService,LoginServiceImpl,Logi nAction的配置文件s

46、truts2struts-login.xml struts-forward.xml学资学习网提供考研资料PrivilegeDaoImpllogin.jspWEE-INFfj3p/gyl /tTame/main. j sp - ;. a. ._ J , 3a21_三=上*上上 上=.=3=L_T=W LtlSJ.-1 zilS_Lt ,工0 naffmHargnlA二七口乜*f MttbQil=FlJ11 *ls=oii.-ltJ2pljaail .gyi.rDnuirl.ti *resLilt nane=r1。上电,口白心二白/上oimfEl白. i3D/re去ill亡A不要把session放

温馨提示

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

评论

0/150

提交评论