




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
延遲符JSON數(shù)據(jù)格式與處理JSON交互與RESTful支持JSON數(shù)據(jù)格式—什么是JSONJSON是一種輕量級(jí)的數(shù)據(jù)交換格式。它基于ECMAScript(歐洲計(jì)算機(jī)協(xié)會(huì)制定的js規(guī)范)的一個(gè)子集,采用完全獨(dú)立于編程語言的文本格式來存儲(chǔ)和表示數(shù)據(jù)。簡潔和清晰的層次結(jié)構(gòu)使得JSON成為理想的數(shù)據(jù)交換語言。易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成,并有效地提升網(wǎng)絡(luò)傳輸效率。JSON數(shù)據(jù)格式—JSON優(yōu)點(diǎn)簡單易用:JSON的語法簡單,易于理解和編寫,可以快速地進(jìn)行數(shù)據(jù)交換;跨平臺(tái)支持:JSON可以被多種編程語言解析和生成,可以在不同的平臺(tái)和語言之間進(jìn)行數(shù)據(jù)交換和傳輸;數(shù)據(jù)交換格式:JSON是一種標(biāo)準(zhǔn)的數(shù)據(jù)交換格式,可以在Web應(yīng)用程序中廣泛使用,如前后端數(shù)據(jù)交互、API接口數(shù)據(jù)傳輸?shù)?;輕量級(jí):JSON的數(shù)據(jù)格式輕量級(jí),傳輸數(shù)據(jù)時(shí)占用帶寬較小,可以提高數(shù)據(jù)傳輸速度;易于擴(kuò)展:JSON的數(shù)據(jù)結(jié)構(gòu)靈活,支持嵌套對(duì)象和數(shù)組等復(fù)雜的數(shù)據(jù)結(jié)構(gòu),便于擴(kuò)展和使用;安全性:JSON數(shù)據(jù)格式是一種純文本格式,不包含可執(zhí)行代碼,不會(huì)執(zhí)行惡意代碼,因此具有較高的安全性。JSON概述—JSON形式對(duì)象(object)
是一個(gè)無序的“‘名稱/值’對(duì)”集合。一個(gè)對(duì)象以“{”(左括號(hào))開始,“}”(右括號(hào))結(jié)束。每個(gè)“名稱”后跟一個(gè)“:”(冒號(hào));“‘名稱/值’對(duì)”之間使用“,”(逗號(hào))分隔。數(shù)組(array)
是值(value)的有序集合。一個(gè)數(shù)組以“[”(左中括號(hào))開始,“]”(右中括號(hào))結(jié)束。值之間使用“,”(逗號(hào))分隔。JSON數(shù)據(jù)格式延遲符1.JSON數(shù)值格式:{“key”:value}示例:{"key1":100,"key2":200}01JSON數(shù)據(jù)格式延遲符2.JSON字符串
格式:{“key”:“value”}
示例:
{"name":"張三","password":"123"}02JSON數(shù)據(jù)格式延遲符3.JSON數(shù)組
格式:{“key”:[value]}
示例:
{ "key1":[0,1,3], "key2":[4,5,6]
}03JSON數(shù)據(jù)格式延遲符4.JSON對(duì)象
格式:{“key”:{value}}
示例:
{
"key1":{
"1":"足球"},
"key2":{"2":"籃球"}
}04JSON數(shù)據(jù)格式延遲符5.JSON對(duì)象數(shù)組
格式:{“key”:[{“key1”:“value1”},{“key2”:“value2”}]}
示例:
{
"興趣愛好":[{"key1":"音樂"},{"key2":"旅游"}]
}05JSON數(shù)據(jù)格式延遲符6.JSON數(shù)組對(duì)象
格式:{“key”:{“key1”:[value1,value2]}}
示例:
{
"學(xué)生":{"數(shù)學(xué)成績":[88,85,90]}
}06JSON數(shù)據(jù)處理延遲符謝謝觀看主講人:蔣衛(wèi)祥延遲符SpringMVC框架有關(guān)JSON的注解JSON交互與RESTful支持@RequestBody注解@RequestBody注解:用于讀取HTTP請求的內(nèi)容(字符串),通過SpringMVC提供的HttpMessageConverter接口將讀到的內(nèi)容(JSON數(shù)據(jù))轉(zhuǎn)換為JSON對(duì)象并綁定到Controller方法的參數(shù)上。@RequestBody注解延遲符1.創(chuàng)建圖書信息類:Book.java@DatapublicclassBook{privateIntegerid;privateStringbookName;//圖書名privateStringauthor;//圖書作者privateStringpress;//圖書出版社privateDoubleprice;//圖書價(jià)格}@RequestBody注解使用實(shí)例@RequestBody注解延遲符2.創(chuàng)建圖書控制器類:BookJsonController.java@Controller@RequestMapping("/book")publicclassBookJsonController{@RequestMapping(value="/getBookInfo",produces="application/json;charset=utf-8")@ResponseBodypublicStringgetBookInfo(@RequestBodyBookbook){returnbook.toString();}}@RequestBody注解使用實(shí)例@RequestBody注解延遲符@RequestBody注解使用實(shí)例@ResponseBody注解@ResponseBody注解用于將Controller的方法返回的對(duì)象,通過SpringMVC提供的HttpMessageConverter接口轉(zhuǎn)換為指定格式的數(shù)據(jù)如:JSON、XML等,通過Response響應(yīng)給客戶端。@RequestBody注解延遲符@RequestMapping(value="/getBookInfo2",produces="application/json;charset=utf-8")@ResponseBodypublicBookgetBookInfo2(@RequestBodyBookbook){returnbook;}@ResponseBody注解使用實(shí)例延遲符@ResponseBody注解使用實(shí)例@ResponseBody注解JSON交互綜合案例延遲符學(xué)習(xí)案例案例代碼查詢商品詳細(xì)信息,請求數(shù)據(jù)格式:JSON,響應(yīng)數(shù)據(jù)格式:JSON謝謝觀看主講人:蔣衛(wèi)祥延遲符任務(wù)9.1新增入校報(bào)備信息JSON交互與RESTful支持實(shí)體類Mapper接口Mapper映射文件服務(wù)層控制層視圖層延遲符新增入校報(bào)備信息—設(shè)計(jì)步驟新增入校報(bào)備信息延遲符1.實(shí)體類@DatapublicclassEnrollmentregistrationimplementsSerializable{privateintid;privateStringreporter;//報(bào)備人privateStringdepartment;//對(duì)接部門
privateDateadmissionTime;//入校時(shí)間
privateStringis_Driving;//是否自駕privateStringnumberPlate;//車牌privateStringreson;//入校事由
//校外人員列表
privateList<Offcampusinfo>offcampusinfoList;
}@DatapublicclassOffcampusinfoimplementsSerializable{privateintid;privateStringname;//姓名privateStringunit;//單位privateStringidNumber;//身份證號(hào)privateStringphone;//手機(jī)號(hào)privateEnrollmentregistrationenrollmentregistration;privateintenrollmentId;}新增入校報(bào)備信息延遲符2.Mapper接口@MapperpublicinterfaceEnrollmentregistrationMapper{//查詢所有入校報(bào)備信息publicList<Enrollmentregistration>selectAllEnrollmentregistration();//新增入校報(bào)備信息publicvoidsaveEnrollmentregistration(Enrollmentregistrationenrollmentregistration);}入校報(bào)備信息Mapper接口:EnrollmentregistrationMapper.java校外人員信息Mapper接口:OffcampusinfoMapper.java@MapperpublicinterfaceOffcampusinfoMapper{publicvoidsaveOffcampusinfo(Offcampusinfooffcampusinfo);}新增入校報(bào)備信息延遲符3.Mapper映射文件<selectid="selectAllEnrollmentregistration"resultMap="enrollmentregistrationMap">select*fromtb_enrollmentregistration</select><insertid="saveEnrollmentregistration"parameterType="cn.js.ccit.pojo.Enrollmentregistration"useGeneratedKeys="true"><selectKeykeyProperty="id"resultType="int"order="AFTER">SELECTLAST_INSERT_ID()ASID</selectKey>insertintotb_enrollmentregistration(reporter,department,admissionTime,departureTime,is_Driving,numberPlate,reson)values(#{reporter},#{department},#{admissionTime},#{departureTime},#{is_Driving},#{numberPlate},#{reson})</insert>(1)入校報(bào)備映射文件:Enrollmentregistration.xml新增入校報(bào)備信息延遲符3.Mapper映射文件<resultMaptype="cn.js.ccit.pojo.Offcampusinfo"
id="offcampusinfoResultMapper"><idproperty="id"column="id"/><resultproperty="name"column="name"/>
……
<!--多對(duì)一映射:association--><associationproperty="enrollmentregistration"
javaType="cn.js.ccit.pojo.Enrollmentregistration"><idproperty="id"column="id"/>
…..
</association></resultMap><insertid="saveOffcampusinfo"parameterType="cn.js.ccit.pojo.Offcampusinfo">insertintotb_offcampusinfo(name,unit,idNumber,phone,enrollmentId)values(#{name},#{unit},#{idNumber},#{phone},#{enrollmentId})</insert>(2)校外人員映射文件:Offcampusinfo.xml新增入校報(bào)備信息延遲符4.服務(wù)層接口實(shí)現(xiàn)類publicinterfaceIEnrollmentregistrationService{
publicList<Enrollmentregistration>selectAllEnrollmentregistration();
publicvoidsaveEnrollmentregistration(Enrollmentregistrationenrollmentregistration);}@ServicepublicclassEnrollmentregistrationServiceimplementsIEnrollmentregistrationService{@AutowiredprivateEnrollmentregistrationMapperenrollmentregistrationMapper;
publicList<Enrollmentregistration>selectAllEnrollmentregistration(){returnenrollmentregistrationMapper.selectAllEnrollmentregistration();
}
publicvoidsaveEnrollmentregistration(Enrollmentregistrationenrollmentregistration){enrollmentregistrationMapper.saveEnrollmentregistration(enrollmentregistration);}}(1)入校報(bào)備信息服務(wù)層接口與實(shí)現(xiàn)類新增入校報(bào)備信息延遲符4.服務(wù)層接口實(shí)現(xiàn)類publicinterfaceIOffcampusinfoService{publicvoidsaveOffcampusinfo(Offcampusinfooffcampusinfo);}@ServicepublicclassOffcampusinfoServiceimplementsIOffcampusinfoService{@AutowiredprivateOffcampusinfoMapperoffcampusinfoMapper;
publicvoidsaveOffcampusinfo(Offcampusinfooffcampusinfo){offcampusinfoMapper.saveOffcampusinfo(offcampusinfo);}}(2)校外人員信息服務(wù)層接口與實(shí)現(xiàn)類新增入校報(bào)備信息延遲符5.控制層@Controller@RequestMapping("/enrollment")publicclassEnrollmentregistrationController{@AutowiredprivateIEnrollmentregistrationServiceenrollmentregistrationService;
@AutowiredprivateIOffcampusinfoServiceoffcampusinfoService;
@RequestMapping("/showAllEnrollmentReistration")publicStringlistAllEnrollmentRegistrations(HttpSessionsession){List<Enrollmentregistration>enrollmentregistrationList=enrollmentregistrationService.selectAllEnrollmentregistration();session.setAttribute("elist",enrollmentregistrationList);return"showEnrollmentRegistrations";}
@RequestMapping(value="/saveEnrollment",produces="application/json;charset=utf-8")@ResponseBodypublicReturnObjectsaveEnrollmentRegistration(@RequestBodyEnrollmentregistrationenrollmentRegistration){
ReturnObjectr=newReturnObject();//返回對(duì)象try{
enrollmentregistrationService.saveEnrollmentregistration(enrollmentRegistration);
for(Offcampusinfooffcampusinfo
:enrollmentRegistration.getOffcampusinfoList()){
offcampusinfo.setEnrollmentId(enrollmentRegistration.getId());offcampusinfoService.saveOffcampusinfo(offcampusinfo);
}
r.setResult("報(bào)備成功");}catch(Exceptione){
r.setResult("報(bào)備失敗");}returnr;……新增入校報(bào)備信息延遲符6.視圖層新增入校報(bào)備信息延遲符
使用SpringMVC的JSON數(shù)據(jù)交互開發(fā)學(xué)工管理系統(tǒng)的新增獎(jiǎng)學(xué)金模塊,要求學(xué)生登錄后,根據(jù)獎(jiǎng)學(xué)金評(píng)選條件申請獎(jiǎng)學(xué)金,使用JSON交互完成新增獎(jiǎng)學(xué)金。拓展訓(xùn)練謝謝觀看主講人:蔣衛(wèi)祥延遲符SpringMVC的RESTful服務(wù)JSON交互與RESTful支持什么是RESTfulESTRESTful(英文:RepresentationalStateTransfer,簡稱REST)描述了一個(gè)架構(gòu)樣式的網(wǎng)絡(luò)系統(tǒng),比如web應(yīng)用程序。在目前主流的三種Web服務(wù)交互方案中,REST相比于SOAP(SimpleObjectAccessprotocol,簡單對(duì)象訪問協(xié)議)以及XML-RPC更加簡單明了,無論是對(duì)URL的處理還是對(duì)Payload的編碼,REST都傾向于用更加簡單輕量的方法設(shè)計(jì)和實(shí)現(xiàn)。值得注意的是REST并沒有一個(gè)明確的標(biāo)準(zhǔn),而更像是一種設(shè)計(jì)的風(fēng)格。什么是RESTful簡單來說,RESTful風(fēng)格就是把請求參數(shù)變成請求路徑的一種風(fēng)格。
http://.../queryItems?id=1傳統(tǒng)的URL請求格式為:
http://.../items/1采用RESTful風(fēng)格后,其URL請求為:參數(shù)id=1變成了請求路徑的一部分動(dòng)詞形式的路徑變成了名詞RESTful特征—以資源為基礎(chǔ)
資源可以是一個(gè)圖片、音樂、一個(gè)XML格式、HTML格式或者JSON格式等網(wǎng)絡(luò)上的一個(gè)實(shí)體,除了一些二進(jìn)制的資源外普通的文本資源更多以JSON為載體、面向用戶的一組數(shù)據(jù)(通常從數(shù)據(jù)庫中查詢而得到)。
通過URL地址來標(biāo)識(shí)資源,系統(tǒng)中的每個(gè)對(duì)象或資源都可以通過其URL地址來獲取。
例如:傳統(tǒng)的資源訪問:http://www.xxx?id=1&&name='zhangsan'RESTful資源訪問:http://www.xxx/1/zhangsanRESTful特征—統(tǒng)一接口
對(duì)資源的操作包括獲取、創(chuàng)建、修改和刪除,這些操作正好對(duì)應(yīng)HTTP協(xié)議提供的GET、POST、PUT和DELETE方法。使用RESTful風(fēng)格從接口上可能只能定位其資源,但是無法知曉它具體進(jìn)行了什么操作,需要具體了解其發(fā)生了什么操作動(dòng)作要從其HTTP請求方法類型上進(jìn)行判斷。具體的HTTP方法和方法含義如下:GET(SELECT):從服務(wù)器取出資源(一項(xiàng)或多項(xiàng))。POST(CREATE):在服務(wù)器新建一個(gè)資源。PUT(UPDATE):在服務(wù)器更新資源(客戶端提供完整資源數(shù)據(jù))。PATCH(UPDATE):在服務(wù)器更新資源(客戶端提供需要修改的資源數(shù)據(jù))。DELETE(DELETE):從服務(wù)器刪除資源。RESTful特征—URI指向資源URI統(tǒng)一資源標(biāo)志符用來標(biāo)識(shí)抽象或物理資源的一個(gè)緊湊字符串。URI包括URL和URN,在這里更多時(shí)候可能代指URL(統(tǒng)一資源定位符)。RESTful是面向資源的,每種資源可能由一個(gè)或多個(gè)URI對(duì)應(yīng),但一個(gè)URI只指向一種資源。RESTful特征—無狀態(tài)
服務(wù)器不能保存客戶端的信息,每一次從客戶端發(fā)送的請求中,要包含所有必須的狀態(tài)信息,會(huì)話信息由客戶端保存,服務(wù)器端根據(jù)這些狀態(tài)信息來處理請求。當(dāng)客戶端可以切換到一個(gè)新狀態(tài)的時(shí)候發(fā)送請求信息,當(dāng)一個(gè)或者多個(gè)請求被發(fā)送之后,客戶端就處于一個(gè)狀態(tài)變遷過程中。每一個(gè)應(yīng)用的狀態(tài)描述,可以被客戶端用來初始化下一次的狀態(tài)變遷。SpringMVC的RESTful服務(wù)延遲符在SpringMVC中對(duì)RESTful支持,主要通過以下注解實(shí)現(xiàn)RESTful:@Controller:聲明一個(gè)處理請求的控制器@RequestMapping:請求映射地址到對(duì)應(yīng)的方法,該注解又可以分為一下幾種類型:@GetMapping@PostMpping@PutMapping@DeleteMapping@PatchMapping@ResponsrBody:響應(yīng)內(nèi)容轉(zhuǎn)換為JSON格式@RequestBody:請求內(nèi)容轉(zhuǎn)換為JSON格式@RestContrller:等同@Controller+@ResponsrBodyRESTful綜合案例延遲符學(xué)習(xí)案例案例代碼接下來,使用RESTful完成用戶管理模塊的整體API設(shè)計(jì)。謝謝觀看主講人:蔣衛(wèi)祥延遲符任務(wù)9.2修改入校報(bào)備信息JSON交互與RESTful支持修改入校報(bào)備信息設(shè)計(jì)步驟3.服務(wù)層4.控制層5.視圖層2.Mapper映射文件1.Mapper接口延遲符修改入校報(bào)備信息延遲符1.Mapper接口//根據(jù)id查詢?nèi)胄?bào)備人信息publicEnrollmentregistrationselectEnrollmentregistrationById(intid);//修改報(bào)備人信息publicvoidupdateEnrollmentregistrationById(Enrollmentregistrationenrollmentregistration);入校報(bào)備信息Mapper接口:EnrollmentregistrationMapper.java校外人員信息Mapper接口:EnrollmentregistrationMapper.java//根據(jù)報(bào)備人id查詢校外人員信息publicOffcampusinfoselectOffcampusinfoByEnrollmentId(intenroollmentId);
//修改校外人員信息publicvoidupdateOffcampusinfoById(Offcampusinfooffcampusinfo);修改入校報(bào)備信息延遲符2.Mapper映射文件<selectid="selectAllEnrollmentregistration"resultMap="enrollmentregistrationMap">select*fromtb_enrollmentregistration</select><updateid="updateEnrollmentregistrationById"parameterType="cn.js.ccit.pojo.Enrollmentregistration">updatetb_enrollmentregistrationset
reporter=#{reporter},department=#{department},admissionTime=#{admissionTime},departureTime=#{departureTime},is_Driving=#{is_Driving},numberPlate=#{numberPlate},reson=#{reson}whereid=#{id}</update>(1)入校報(bào)備映射文件:Enrollmentregistration.xml修改入校報(bào)備信息延遲符2.Mapper映射文件<selectid="selectOffcampusinfoByEnrollmentId"parameterType="int"resultMap="offcampusinfoResultMapper">select*fromtb_offcampusinfoo,tb_enrollmentregistrationewhereo.enrollmentId=e.idande.id=#{id}</select><updateid="updateOffcampusinfoById"parameterType="cn.js.ccit.pojo.Offcampusinfo">
updatetb_offcampusinfosetname=#{name},unit=#{unit},idNumber=#{idNumber},phone=#{phone},enrollmentId=#{enrollmentId}whereid=#{id}</update>(2)校外人員映射文件:Offcampusinfo.xml新增入校報(bào)備信息延遲符3.服務(wù)層接口實(shí)現(xiàn)類IEnrollmentregistrationService.javapublicEnrollmentregistrationselectEnrollmentregistrationById(intid);publicvoidupdateEnrollmentregistrationById(Enrollmentregistrationenrollmentregistration);EnrollmentregistrationService.java//根據(jù)id查詢?nèi)胄?bào)備信息publicEnrollmentregistrationselectEnrollmentregistrationById(intid){returnenrollmentregistrationMapper.selectEnrollmentregistrationById(id);}//修改入校報(bào)備信息publicvoidupdateEnrollmentregistrationById(Enrollmentregistrationenrollmentregistration){
enrollmentregistrationMapper.updateEnrollmentregistrationById(enrollmentregistration);}(1)入校報(bào)備信息服務(wù)層接口與實(shí)現(xiàn)類修改入校報(bào)備信息延遲符3.服務(wù)層接口實(shí)現(xiàn)類IOffcampusinfoService.java//根據(jù)id修改校外人員信息publicOffcampusinfoselectOffcampusinfoByEnrollmentId(intenroollmentId);//修改校外人員信息publicvoidupdateOffcampusinfoById(Offcampusinfooffcampusinfo);OffcampusinfoService.javapublicOffcampusinfoselectOffcampusinfoByEnrollmentId(intenroollmentId){returnoffcampusinfoMapper.selectOffcampusinfoByEnrollmentId(enroollmentId);
}
publicvoidupdateOffcampusinfoById(Offcampusinfooffcampusinfo){offcampusinfoMapper.updateOffcampusinfoById(offcampusinfo);}(2)校外人員信息服務(wù)層接口與實(shí)現(xiàn)類修改入校報(bào)備信息延遲符4.控制層
@GetMapping("/findById")publicStringfindEnrollmentregistrationById
(@RequestParam("id")Integerid,Modelmodel){if(enrollmentregistrationList==null
||enrollmentregistrationList.size()==0){
enrollmentregistrationList=enrollmentregistrationService
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 濮陽科技職業(yè)學(xué)院《大數(shù)據(jù)統(tǒng)計(jì)模型實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 喀什大學(xué)《數(shù)字影像工程》2023-2024學(xué)年第二學(xué)期期末試卷
- 安徽工業(yè)經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院《流行音樂經(jīng)典作品分析(2)》2023-2024學(xué)年第二學(xué)期期末試卷
- 公章的管理制度
- 公司章程中內(nèi)控的內(nèi)容
- 公共交通線路調(diào)整管理制度
- 工程施工隊(duì)每周進(jìn)度計(jì)劃表格
- 頁巖磚砌體施工方案
- 【2025年二手房行業(yè)資訊:深圳周錄1812套再創(chuàng)新高】
- 江西省上饒市2024-2025學(xué)年高二上學(xué)期1月期末英語試題【含答案】
- 電工教學(xué)大綱與教學(xué)計(jì)劃
- 頸源性頭痛演示課件
- 超市消防應(yīng)急疏散預(yù)案
- 數(shù)字媒體技術(shù)基礎(chǔ)實(shí)訓(xùn)指導(dǎo)
- 醫(yī)院基建科招聘筆試題目
- 消防安全管理制度完整版完整版
- 青少年毒品預(yù)防教育-小學(xué)版
- 《Unit2Myfavoriteseason》教學(xué)設(shè)計(jì)課件
- 學(xué)前教育-大班幼兒使用電子產(chǎn)品現(xiàn)狀對(duì)其日常影響的研究調(diào)查
- 解除終止勞動(dòng)合同備案登記表
- 礦山地質(zhì)與安全
評(píng)論
0/150
提交評(píng)論