不同项目,如何java模拟ajax访问另一个项目的controller
来源:互联网 发布:单片机就业方向 编辑:程序博客网 时间:2024/06/05 08:43
直接上码
package com.ultrapower.zq.iscloud.web.boc.api.utils;
/**
* create by liujie 2017年6月15日上午9:38:14
*
*
*/
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模拟ajax访问另一个项目的controller
- java 一个项目访问另一个Web项目的配置文件
- Eclipse 下如何引用另一个项目的Java文件 JAVA
- 一个项目如何请求访问,另一个封装好的接口项目的数据
- Eclipse 下如何引用另一个项目的Java文件
- 如何在Tomcat本地模拟域名访问你的项目
- linux部署项目,不同的域名访问不同的项目
- springmvc框架的项目,如何在controller中使用dao访问数据库
- java项目如何让外网访问
- 如何读取Java项目不同路径的配置文件
- 同一个tomcat,不同域名访问不同的项目
- java一个项目中引用另一个项目的方法
- 如何让外网可以访问本地的JAVA项目的页面
- wamp5如何配置多个自定义域名访问本地不同的项目
- springboot项目访问不到controller方法。
- Java Web项目如何提高访问效率
- Eclipse 下如何引用另一个项目的资源文件
- 一个tomcat上部署多个项目,并通过不同端口号访问不同的项目
- 那些创业的艰辛整理
- Codeforces Pangram
- Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/sc
- 武踏云霄
- .bat文件运行java程序的main方法
- 不同项目,如何java模拟ajax访问另一个项目的controller
- 【剖析】0-1背包算法
- 来说说(SimpleFactory)简单工厂模式
- SRM713 hard CoinsQuery
- C++中不会默认创建copy assignment操作的情况:
- 五 .调度
- IOS中Block的使用
- 再议:C++类实例化时的内存分配
- 虚幻4 UI加载优化