同一个tomcat 两个项目 互相访问接口方法
package com.qif.xdqdm.util; import com.alibaba.fastjson.JSONObject; import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL; public class interfaceUtil { /**
* 调用对方接口方法
* @param path 对方或第三方提供的路径
* @param data 向对方或第三方发送的数据,大多数情况下给对方发送JSON数据让对方解析
*/
public static JSONObject httpInterfaceUtil(String path, String data) {
try {
URL url = new URL(path); //打开和url之间的连接
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
PrintWriter out = null; /**设置URLConnection的参数和普通的请求属性****start***/ conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"); /**设置URLConnection的参数和普通的请求属性****end***/ //设置是否向httpUrlConnection输出,设置是否从httpUrlConnection读入,此外发送post请求必须设置这两个
//最常用的Http请求无非是get和post,get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet,
//post与get的 不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内。
conn.setDoOutput(true);
conn.setDoInput(true); conn.setRequestMethod("POST");//GET和POST必须全大写
/**GET方法请求*****start*/
/**
* 如果只是发送GET方式请求,使用connet方法建立和远程资源之间的实际连接即可;
* 如果发送POST方式的请求,需要获取URLConnection实例对应的输出流来发送请求参数。
* */
conn.connect(); /**GET方法请求*****end*/ /***POST方法请求****start*/ //获取URLConnection对象对应的输出流 (防止中文传过去乱码)
out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(),"utf-8")); out.print(data);//发送请求参数即数据 out.flush();//缓冲数据
/***POST方法请求****end*/ //获取URLConnection对象对应的输入流
InputStream is = conn.getInputStream();
//构造一个字符流缓存
BufferedReader br = new BufferedReader(new InputStreamReader(is,"UTF-8"));
StringBuffer txt = new StringBuffer();
String str = "";
while ((str = br.readLine()) != null) {
str=new String(str.getBytes());//解决中文乱码问题
System.out.println(str);
txt.append(str);
}
//关闭流
is.close();
//断开连接,最好写上,disconnect是在底层tcp socket链接空闲时才切断。如果正在被其他线程使用就不切断。
//固定多线程的话,如果不disconnect,链接会增多,直到收发不出信息。写上disconnect后正常一些。
conn.disconnect();
System.out.println("完整结束");
return JSONObject.parseObject(txt.toString());
} catch (Exception e) {
e.printStackTrace();
return null;
}
} public static void main(String[] args) { httpInterfaceUtil("http://172.26.1.33:8080/xdq/sysTableInfo/find_tableIdAndEquipmentID", "tableName=singleterm");//get请求 /*interfaceUtil("http://172.83.28.221:7001/NSRTRegistration/test/add.do",
"id=8888888&name=99999999");*///post请求
} }
同一个tomcat 两个项目 互相访问接口方法的更多相关文章
- 同一个tomcat多个项目共享session,一个tomcat两个项目共享sessionId
同一个tomcat多个项目共享session,一个tomcat两个项目共享sessionId >>>>>>>>>>>>>& ...
- java web项目去除项目名称访问设置方法及tomcat的<Host>标签讲解
本文为博主原创,未经允许不得转载. 在集群项目中,为了方便用户可以更快捷的访问,即只需要输入IP和端口号,就可以直接访问项目,因为 模块比较多,记住项目名称并不容易,所以在网上查看和学习了下设置的方法 ...
- 同一个Tomcat下不同项目之间的session共享
最近发现项目运行过程中经常会抛出一个 NullPointerException的异常,经检查发现异常出现的地方是日志模板,一阵检查,正常无误 (把所有记录日志的地方都点了一遍,心里是崩溃的),万念俱灰 ...
- Java Web开发: Tomcat中部署项目的三种方法
web开发,在tomcat中部署项目的方法: 可以参考http://m.blog.csdn.net/blog/u012516903/15741727 定义$CATALINA_HOME指的是Tomcat ...
- IDEA+Maven+Tomcat构建Web项目的三种方法
[本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究.若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!] 本文将介绍三种方 ...
- Tomcat增加Context配置不带项目名访问导致启动的时候项目加载两次
eclipse发布web应用至tomcat,默认方式下访问该项目是需要带项目名称的,例http://localhost:8080/myapp/.现在需要改成这样访问http://localhost.修 ...
- 在Intellij上开发项目发布到tomcat时,同一个局域网内的其他机子访问不到自己电脑上tomcat中的项目,只能本机访问
在Intellij上开发项目发布到tomcat时,同一个局域网内的其他机子访问不到自己电脑上tomcat中的项目,只能本机访问 问题描述:在Intellij上开发项目发布到tomcat时,同一个局域网 ...
- 服务器同一个tomcat部署2两个相同的项目
项目A,B(B 是A 的复制) 若把A,B工程同时部署到tomcat下,会发生只能访问A,B工程中的其中一个,而另一个会出现404错误(或者无法访问),此时可参照如下方法解决: 步骤1:找到工程下的w ...
- 用eclipse的同一个tomcat启动两个javaweb项目
1.右键选择 Add and Remove 2.把左边两个项目add到右边 3.完成之后查看eclipse左边的Servers下的server.xml文件,会自动生成两个Context标签,当然你到第 ...
随机推荐
- Redis 小调研
一. 概况: Redis是一款开源的.网络化的.基于内存的.可进行数据持久化的Key-Value存储系统.它的数据模型建立在外层,类似于其它结构化存储系统,是通过Key映射Value的方式来建立字典以 ...
- vscode centos
https://www.cnblogs.com/My-Jinse/articles/8400137.html rpm -ql 包名 缺少libXss.so.1()(64bit) yum install ...
- WordPress .gitignore
# ----------------------------------------------------------------- # .gitignore for WordPress @salc ...
- 数位dp——牛客多校H
/* x[1,A] y[1,B] x^y<C 或 x&y>C 把ABC拆成二进制后按位进行数位dp dp[pos][s1][s2][f1][f2] 表示从高到低第pos位,条件一状 ...
- NX二次开发-UFUN打开二进制STL文件函数UF_STD_open_binary_stl_file
NX9+VS2012 #include <uf.h> #include <uf_obj.h> #include <uf_modl.h> #include <u ...
- Openstack nova-scheduler 源码分析 — Filters/Weighting
目录 目录 前言 调度器 FilterScheduler调度器的工作流程 Filters 过滤器 Filters 类型 Weighting 权重 源码实现 关键文件及其意义 阶段一nova-sched ...
- project2_login(登录窗口)
该project是在网易云课堂上的公开课<用 python 和 tkinter 做简单的窗口视窗>课程当中学习的,是该课程中的一个结课小项目,项目中的知识点内容涉及该课程中所学习到的大多数 ...
- maven-version
<java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.bu ...
- 自动化测试工具2-testcomplete
今天来说说testcomplete的使用 录了一个简单案例视频,网址如下:https://v.qq.com/x/page/f05116a062y.html 第一步是创建一个工程: 输入工程名,和选择工 ...
- 浅析AIDL的使用和工作原理
AIDL是一种接口定义语言,用于生成可在Android设备上两个进程之间进行进程间通信(IPC)的代码. AIDL的使用 新建一个aidl文件,定义进程间通信的接口 // IStudentManage ...