java模拟ajax访问另一个项目的controller代码实例

 更新时间:2019年03月11日 09:31:20   作者:小飞侠-2  
今天小编就为大家分享一篇关于java模拟ajax访问另一个项目的controller代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

不同项目,如何java模拟ajax访问另一个项目的controller

直接上码

package com.ultrapower.zq.iscloud.web.boc.api.utils;
/**
 * create by liujie
 */
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;
import org.json.JSONObject;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
public class HttpUtils {
  /**
   * 向指定URL发送GET方法的请求
   * @param url
   *      发送请求的URL
   * @param param
   *      请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
   * @return URL 所代表远程资源的响应结果
   */
  public static String sendGet(String url, String param) {
    String result = "";
    BufferedReader in = null;
    try {
      String urlNameString = url + "?" + param;
      URL realUrl = new URL(urlNameString);
      // 打开和URL之间的连接
      URLConnection connection = realUrl.openConnection();
      // 设置通用的请求属性
      connection.setRequestProperty("accept", "*/*");
      connection.setRequestProperty("connection", "Keep-Alive");
      connection.setRequestProperty("user-agent",
          "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
      // 建立实际的连接
      connection.connect();
      // 获取所有响应头字段
      Map<String, List<String>> map = connection.getHeaderFields();
      // 遍历所有的响应头字段
      for (String key : map.keySet()) {
        System.out.println(key + "--->" + map.get(key));
      }
      // 定义 BufferedReader输入流来读取URL的响应
      in = new BufferedReader(new InputStreamReader(
          connection.getInputStream()));
      String line;
      while ((line = in.readLine()) != null) {
        result += line;
      }
    } catch (Exception e) {
      System.out.println("发送GET请求出现异常!" + e);
      e.printStackTrace();
    }
    // 使用finally块来关闭输入流
    finally {
      try {
        if (in != null) {
          in.close();
        }
      } catch (Exception e2) {
        e2.printStackTrace();
      }
    }
    return result;
  }
  /**
   * 向指定 URL 发送POST方法的请求
   * @param url
   *      发送请求的 URL
   * @param param
   *      请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
   * @return 所代表远程资源的响应结果
   */
  public static String sendPost(String url) {
    PrintWriter out = null;
    BufferedReader in = null;
    String result = "";
    try {
      URL realUrl = new URL(url);
      // 打开和URL之间的连接
      URLConnection conn = realUrl.openConnection();
      // 设置通用的请求属性
      conn.setRequestProperty("accept", "*/*");
//      conn.setRequestProperty("connection", "Keep-Alive");
      conn.setRequestProperty("Content-Type", "application/json; charset=utf-8"); 
//      conn.setRequestProperty("user-agent",
//          "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
      // 发送POST请求必须设置如下两行
      conn.setDoOutput(true);
      conn.setDoInput(true);
      // 获取URLConnection对象对应的输出流
      out = new PrintWriter(conn.getOutputStream());
      // 发送请求参数
//      out.print(param);
      // flush输出流的缓冲
      out.flush();
      // 定义BufferedReader输入流来读取URL的响应
      in = new BufferedReader(
          new InputStreamReader(conn.getInputStream()));
      String line;
      while ((line = in.readLine()) != null) {
        result += line;
      }
    } catch (Exception e) {
      System.out.println("发送 POST 请求出现异常!"+e);
      e.printStackTrace();
    }
    //使用finally块来关闭输出流、输入流
    finally{
      try{
        if(out!=null){
          out.close();
        }
        if(in!=null){
          in.close();
        }
      }
      catch(IOException ex){
        ex.printStackTrace();
      }
    }
    return result;
  }  
  public static void main(String[] args) {
//   Document doc = Jsoup.parse("http://xxx/xxxx?entName=餐饮管理有限公司");
//     System.out.println(doc);
    //发送 GET 请求
    String s=HttpUtils.sendPost("http://xxxxxxxx?entName=餐饮管理有限公司");
    System.out.println(s);
    //发送 POST 请求
//    String sr=HttpUtils.sendPost("http://localhost:6144/Home/RequestPostString", "key=123&v=456");
//    System.out.println(sr);
  }
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • Java多线程之CAS机制详解

    Java多线程之CAS机制详解

    这篇文章主要介绍了Java多线程之CAS机制详解,CAS指的是Compare-And-Swap(比较与交换),它是一种多线程同步的技术,常用于实现无锁算法,从而提高多线程程序的性能和扩展性,需要的朋友可以参考下
    2023-07-07
  • SpringBoot使用YML文件进行多环境配置的三种方法

    SpringBoot使用YML文件进行多环境配置的三种方法

    SpringBoot通过其灵活的配置机制,使得在不同环境中管理应用设置变得简单,尤其是使用YAML文件进行配置,它提供了一种简洁、易读的方式来定义应用的配置,本文将探讨在SpringBoot中使用YAML文件进行多环境配置的三种方法,需要的朋友可以参考下
    2024-04-04
  • 大厂面试常考:快速排序冒泡排序算法

    大厂面试常考:快速排序冒泡排序算法

    快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像BAT、字节、美团等知名IT公司都喜欢考查快速排序原理和手写源码
    2021-08-08
  • 关闭支付宝小额免密支付步骤详解

    关闭支付宝小额免密支付步骤详解

    支付宝现在作为我们日常生活中最常用的应用之一,已经成为了人们的虚拟钱包。但是最近,有人发现了支付宝的一个漏洞,本文将对如何关闭小额免密支付进行步骤介绍。下面跟着小编一起来看下吧
    2017-01-01
  • SpringBoot中的Bean的初始化与销毁顺序解析

    SpringBoot中的Bean的初始化与销毁顺序解析

    这篇文章主要介绍了SpringBoot中的Bean的初始化与销毁顺序,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • JDK1.8下载、安装和环境配置超详细教程(最新最完整)

    JDK1.8下载、安装和环境配置超详细教程(最新最完整)

    jdk1.8是一款功能强大的Java语音软件开发工具包,JDK是学好Java的第一步,本文重点给大家介绍JDK1.8下载、安装和环境配置教程,需要的朋友可以参考下
    2022-11-11
  • Mybatis优化检索的方法详解

    Mybatis优化检索的方法详解

    MyBatis是一款优秀的基于Java的持久层框架,它可以将 SQL 语句和数据库中的记录映射成为 Java 对象,并且支持灵活的 SQL 查询语句,在Mybatis中,可以使用动态SQL来灵活构造SQL语句,从而满足各种不同的检索需求,本文介绍Mybatis如何优化检索,需要的朋友可以参考下
    2024-05-05
  • spring boot mogodb多条件拼接的解决方法

    spring boot mogodb多条件拼接的解决方法

    这篇文章主要介绍了spring boot mogodb多条件拼接的解决方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • Mybatis配置之typeAlias标签的用法

    Mybatis配置之typeAlias标签的用法

    这篇文章主要介绍了Mybatis配置之typeAlias标签的用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Java构造方法和方法重载详解

    Java构造方法和方法重载详解

    大家好,本篇文章主要讲的是Java构造方法和方法重载详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01

最新评论