基于restful注解(spring4.0.2整合flex+blazeds+spring-mvc).docx_第1页
基于restful注解(spring4.0.2整合flex+blazeds+spring-mvc).docx_第2页
基于restful注解(spring4.0.2整合flex+blazeds+spring-mvc).docx_第3页
基于restful注解(spring4.0.2整合flex+blazeds+spring-mvc).docx_第4页
基于restful注解(spring4.0.2整合flex+blazeds+spring-mvc).docx_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

基于restful注解(spring4.0.2整合flex+blazedsspring-mvc)参考官网:1./blazeds/1/blazeds_devguide/2.http:/docs.spring.io/spring-flex/docs/1.5.2.RELEASE/reference/html/1)下载blazeds(turnkey4.0.x版本)网址:/adobe/blazeds/wiki/Home/2)先创建maven工程,然后进入blazeds目录/tomcat/webapps/blazeds/WEB-INF/flex 连flex目录拷贝到src/main/resource目录下(也可以直接拷贝文件)如图:3)核心flex相关jar包 下载spring-flex-core-1.5.2.RELEASE.jar blazeds-core-4931.jar blazeds-common-4931.jar blazeds-proxy-4931.jar blazeds-remoting-4931.jar其中spring-flex-core-1.5.2.RELEASE.jar可以从远程maven中心仓库下载,而blazeds的jar在中心仓库版本有误,如图:spring容器启动时spring-flex-core-1.5.2依赖的是blazeds的4931版本,而maven中心仓库并无此jar包,因此以上四个包需手工打入本地maven仓库,打入命令进入blazeds目录/resources/lib下执行以下maven命令mvninstall:install-file-Dpackaging=jar-DgroupId=com.adobe.blazeds-Dversion=4931-DartifactId=blazeds-common-Dfile=flex-messaging-common.jarmvninstall:install-file-Dpackaging=jar-DgroupId=com.adobe.blazeds-Dversion=4931-DartifactId=blazeds-core-Dfile=flex-messaging-core.jarmvninstall:install-file-Dpackaging=jar-DgroupId=com.adobe.blazeds-Dversion=4931-DartifactId=blazeds-opt-Dfile=flex-messaging-opt.jarmvninstall:install-file-Dpackaging=jar-DgroupId=com.adobe.blazeds-Dversion=4931-DartifactId=blazeds-proxy-Dfile=flex-messaging-proxy.jarmvninstall:install-file-Dpackaging=jar-DgroupId=com.adobe.blazeds-Dversion=4931-DartifactId=blazeds-remoting-Dfile=flex-messaging-remoting.jar至此在工程中即可引入相关jar包.4) 配置flex/services-config.xml文件 红色为修改后内容channel对于flex来讲,相当于一个通信管道,在flex客户端端表现为endpoint=下面红色字体中endpoint.url属性123456789101112!-Uncommentthecorrectappserver1314151617-1819!-2021Basic2223guests24accountants25employees26managers272829-3031323334353637false38394041424344false45464748495051true52453545556!-5758596061626364false656667-686970717273BlazeDS74false75false76false77false787980Endpoint.*81Service.*82Configuration83848586878889false90!-912092context.root/WEB-INF/flex/services-config.xml93context.root/WEB-INF/flex/proxy-config.xml94context.root/WEB-INF/flex/remoting-config.xml95context.root/WEB-INF/flex/messaging-config.xml96context.root/WEB-INF/flex/data-management-config.xml97context.root/WEB-INF/web.xml98-991001011021035)搭建springmvc框架 web.xml12contextConfigLocation34classpath:applicationContext.xml5678910org.springframework.web.context.ContextLoaderListener1112131415spring-mvc1617org.springframework.web.servlet.DispatcherServlet181920contextConfigLocation21classpath:spring-mvc-servlet.xml2223124252627spring-mvc28*.htm29303132flex33org.springframework.web.servlet.DispatcherServlet3435contextConfigLocation36classpath:flex-servlet.xml3738139404142flex43/messagebroker/amf/*44因为基于maven工程,配置文件都在src/main/resources目录下,flex和spring-mvc子容器单独配置classpath,否则会自动查找/WEB-INF/-servlet.xml文件。6)贴上applicationContext.xml文件,关键点见红色1212131415161718192021222324252627282930313233343536373839application/json-404142434445464748495051525354555657关键点:23行定义将flex客户端传递来的AMF格式消息转换为java可识别的内容 28-36以及50行定义amf格式的返回值也即spring-mvc的返回视图根据http协议头的Accept Header来判断amf格式的返回7) 上面flex-servlet.xml中引入的flex-context.xml文件内容,红色字体为关键内容1278910111213141516171819202122my-amf23my-secure-amf,my-amf242526272829!-3031-32333435里面的关键点为13行配置message-broker在src/main/resources/下找到services-config.xml文件14-16为可选增强功能,类似拦截器,异常转换为java可识别的异常等19-26行用于在控制器类上注解RemotingDestination(value=flexUserController , channels=$channel1,$channel2)可选channels使用。至此xml文件配置完毕。示例:java服务端 关键点红色字体1packagecom.lx.love.web;23importjava.io.UnsupportedEncodingException;45importorg.springframework.beans.factory.annotation.Autowired;6importorg.springframework.flex.remoting.RemotingDestination;7importorg.springframework.flex.remoting.RemotingInclude;8importorg.springframework.http.HttpEntity;9importorg.springframework.http.HttpHeaders;10importorg.springframework.http.HttpStatus;11importorg.springframework.http.MediaType;12importorg.springframework.http.ResponseEntity;13importorg.springframework.web.bind.annotation.RequestBody;14importorg.springframework.web.bind.annotation.RequestMapping;15importorg.springframework.web.bind.annotation.RequestMethod;16importorg.springframework.web.bind.annotation.RestController;1718importcom.lx.love.dto.User;19importcom.lx.love.service.UserService;2021RestController()22RemotingDestination(value=flexUserController,channels=$channel1)23publicclassFlexUserService2425Autowired26privateUserServiceuserService;2728/RemotingExclude29/RequestMapping(method=RequestMethod.POST)30/publicModelAndViewcreateUser(Useruser)31/userService.createUser(user);32/ModelAndViewmav=newModelAndView();33/mav.setViewName(/user/createSuccess);34/mav.addObject(user,user);35/returnmav;36/3738RemotingInclude39RequestMapping(value=/register,method=RequestMethod.POST)40publicUserregister(RequestBodyUseruser)41System.out.println(userName=+user.getUserName();42System.out.println(1234567);43user.setUserName(ztt);44user.setRealName(love);45user.setPassword(123456);46returnuser;474849RemotingInclude50RequestMapping(value=/test,method=RequestMethod.POST)51publicStringtestMy(StringuserName)52System.out.println(userName=+userName);53returnuserName;545556/*57*produces-针对Content-Type增加一种类型,若不匹配用默认的58*consumer-针对Accept只能满足指定的内容59*paramrequestEntity60*return61*throwsUnsupportedEncodingException62*/63RemotingInclude64RequestMapping(value=/handler5,produces=MediaType.APPLICATION_JSON_VALUE)65publicResponseEntityhandle5(HttpEntityrequestEntity)66throwsUnsupportedEncodingException67StringrequestHeader=requestEntity.getHeaders().getFirst(MyRequestHeader);68byterequestBody=requestEntity.getBody();69HttpHeadersresponseHeaders=newHttpHeaders();70responseHeaders.set(lxx,ztt);7172returnnewResponseEntity(HelloWorld+requestBody,responseHeaders,HttpStatus.CREATED);737475RemotingInclude76RequestMapping(value=/handler)77publicStringhandler(RequestBodyStringrequestBody)78System.out.println(requestBody);79return/user/success;80818283RemotingDestination(value=flexUserController,channels=$channel1)其中value值对应flex客户端:destination值1345如果flex客户端传递一个User.as类对象到java服务端1packagecom.lottery.ssc23Bindable4RemoteClass(alias=com.lx.love.dto.User)5publicclassUser67privatevar_userName:String;8privatevar_password:String;9privatevar_realName:String;1011publicfunctionUser()12131415publicfunctiongetrealName():String1617return_realName;181920publicfunctionsetrealName(value:String):void2122_realName=value;232425publicfunctiongetpassword():String2627return_password;282930publicfunctionsetpassword(value:String):void3132_password=value;333435publicfunctiongetuserName():String3637return_userName;383940publicfunctionsetuserName(value:String):void4142_userName=value;43444546里面get和set方法的属性名要和java服务器的属性名一致,flex客户端调用方式:

温馨提示

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

评论

0/150

提交评论