当前位置: 首页 > news >正文

梁山企业网站建设做网站的工资高吗?

梁山企业网站建设,做网站的工资高吗?,惠州人才市场最新招聘信息网,黄页88网推广服务免费因为项目需求#xff0c;需要两个系统之间进行通信#xff0c;经过一番调研#xff0c;决定使用http请求。服务端没有什么好说的#xff0c;本来就是使用web 页面进行访问的#xff0c;所以spring boot启动后#xff0c;controller层的接口就自动暴露出来了#xff0c;客…因为项目需求需要两个系统之间进行通信经过一番调研决定使用http请求。 服务端没有什么好说的本来就是使用web 页面进行访问的所以spring boot启动后controller层的接口就自动暴露出来了客户端通过调用对应的url即可所以这里主要就客户端。 首先我自定义了一个用来处理http 请求的工具类DeviceFactoryHttp 既然是url访问那就有两个问题需要处理一个请求服务的url和请求服务端的参数客户端的消息头 请求服务的url请求服务端url我定义的是跟客户端一个样的url 服务端的参数:服务端的参数有两种一种经过封装的类似下面这样 http://localhost:8080/switch/getAllStatus?data{interface name”:”getAllStudentStaus”} 一种是没有经过封装的类似下面这样 http://localhost:8080/switch/getStudentInfoByName?namezhangSan 首先是经过封装 一初始化httpclient private static HttpClient client null; static { PoolingHttpClientConnectionManager cm new PoolingHttpClientConnectionManager(); cm.setMaxTotal(128); cm.setDefaultMaxPerRoute(128); client HttpClients.custom().setConnectionManager(cm).build(); } 二获取请求的url因为我服务端定义的url与客户端一样所以我直接使用请求客户端的url //根据request获取请求的url public  StringBuffer getUrlToRequest(HttpServletRequest request) { StringBuffer urlrequest.getRequestURL();//获取请求的url(http://localhost:8080/switch/getStudentInfoByName) String[] splitArrurl.toString().split(/); String appNamesplitArr[3];//项目名称 String ipReportsplitArr[2];//项目ip:report String resultStrurl.toString().replaceAll(appName,DevFacConstans.facname).replaceAll(ipReport, DevFacConstans.ip:DevFacConstans.report); return new StringBuffer(resultStr); } 获取url根据/ 进行split因为我这是测试环境生产环境ip,端口号域名肯定不是localhost,有的前面还会加上项目名称 所以我split对应的值来进行替换。 三拼装请求参数调用http请求 /** * 发送http请求 有request * 给controller层调用 * param request * return */ public String sendHttpToDevFac(HttpServletRequest request)throws Exception { HttpClient client null; String returnResult; // http://localhost:8080/leo/1.0/h5/login StringBuffer urlBuffergetUrlToRequest(request);//调用第二步获取url //获取参数并拼装 String dataAsJson request.getParameter(data); String encoderDataURLEncoder.encode(dataAsJson,utf-8); HttpGet getnew HttpGet(urlBuffer.append(?data).append(encoderData).toString()); //set headers EnumerationString headerNamesrequest.getHeaderNames(); while(headerNames.hasMoreElements()) { String headerNameheaderNames.nextElement(); String headerValuerequest.getHeader(headerName); get.setHeader(headerName, headerValue); } clientDeviceFactoryHttp.client; logger.info(开始调用http请求请求url:urlBuffer.toString()); HttpResponse repclient.execute(get); returnResultEntityUtils.toString(rep.getEntity(),utf-8); logger.info(http 请求调用结束!!); return returnResult; } 先获取请求的参数再将参数拼装在url后面URLEncoder.encode 这个不要忘了因为参数会有一些符号需要对参数进行编码后再加入url否则就会抛出异常 set headers因为有部分信息服务端会从请求头中取出所以我将客户端的请求头也set到服务端的request中请求的url和请求的参数拼好就就可以client.exceute(get)执行请求了。 上面的是我浏览器直接将request请求作为参数传到我客户端我所以我可以直接从request中获取url有的是没有request就需要从request的上下文环境中取了。 没有经过封装的 首先从上下文中获取request的 /** * 获取request * return */ public static HttpServletRequest getRequest(){   ServletRequestAttributes ra (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();   HttpServletRequest request   ra.getRequest();   return request; } 二有了request后就有了url,下面再来解析请求参数因为这个参数是没有封装的所以获取所有的请求参数 /*** 没有request 请求给controller层调用* param key* param interfaceName* param strings* return* throws Exception*/public String centerToDeviceFacNoRequest(String key,String interfaceName)throws Exception {try {HttpServletRequest requestgetRequest();//上面第一步从上下文中获取url//获取reuquest请求参数EnumerationString names request.getParameterNames();MapString,StringparamMapnew HashMap();//遍历请求mapwhile(names.hasMoreElements()) {String namenames.nextElement();String value(String) request.getParameter(name);paramMap.put(name, value);}//调用发送http请求的方法return sendHttpToDevFacNoData(paramMap,request);} catch (Exception e) {e.printStackTrace();}//endreturn null;}   三发送http请求 /*** 发送http请求【没有data数据的】* return*/public String sendHttpToDevFacNoData(MapString,StringparamMap,HttpServletRequest request)throws Exception {HttpClient client null;String result;StringBuffer dataBuffergetUrlToRequest(request);//获取urldataBuffer.append(?);clientDeviceFactoryHttp.client;IteratorEntryString, String paamItparamMap.entrySet().iterator();while(paamIt.hasNext()) {EntryString, String entrypaamIt.next();dataBuffer.append(entry.getKey()).append().append(entry.getValue()).append();}String resultUrldataBuffer.toString().substring(0, dataBuffer.toString().lastIndexOf());//发送请求HttpGet getnew HttpGet(resultUrl);//set headersEnumerationString headerNamesrequest.getHeaderNames();while(headerNames.hasMoreElements()) {String headerNameheaderNames.nextElement();String headerValuerequest.getHeader(headerName);get.setHeader(headerName, headerValue);}HttpResponse repclient.execute(get);logger.info(开始调用http请求请求url:resultUrl);//返回结果resultEntityUtils.toString(rep.getEntity(),utf-8);logger.info( http 请求调用结束!!);return result;}转载于:https://www.cnblogs.com/zhangXingSheng/p/7745009.html
http://www.huolong8.cn/news/69657/

相关文章:

  • 网站开发的投标案例wordpress改变登录地址
  • 网站服务器怎么选徐州建站网站模板
  • 常州淄博网站优化网站平台有哪些
  • 深圳好蜘蛛网站建设公司广东品牌女装都有哪些品牌
  • 怎么建立一个网站能够与讯飞云对话如何推广游戏
  • 昆山网站开发中国外贸公司排行榜
  • 安徽制作网站的公司哪家好做网站图片处理问题
  • 中国建设银行分行网站vps网站被镜像
  • 国外域名的网站怎么做wordpress 文章链接地址
  • 烟台快速建站有哪些公司wordpress如何静态化
  • 网站维护要多久国家对网站建设补补贴
  • o2o好网站免费asp网站程序下载
  • 常见的域名注册网站dw网站建设的心得体会
  • 基础建设文本网站深圳高端网站
  • 云服务器小网站制作网站整站出售
  • 用python做网站的步骤做电商能赚钱吗
  • 免费建立自己的网站高清logo网站
  • 基于cms系统网站的建设wordpress系统怎么设置关键词
  • 营销型网站收费网站建设怎么做账务处理
  • 北京正邦网站建设网页设计培训学费多少钱
  • 有没有可以在线做化学实验的网站seo关键词优化要多少钱
  • 618酒类网站源码怎么做个人网站建设
  • 本溪市做网站公司数字营销实训总结
  • 四川城乡建设网网站黑马程序员培训机构
  • 三只松鼠网站谁做的洛阳霞光做网站公司
  • 惠州网站建设公司排名wordpress自定义字段面板
  • 浙江网站建设推荐wordpress手机端发布软件
  • 电子商务网站建设需要做好哪些准备6IT周末做网站违反制度么
  • 网站开发的前后端是什么帝国视频网站模板
  • 河北大城县网站建设公司wordpress词汇插件