package com.bmsh.router.assistant.util;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ConnectException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.util.Map;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import net.sf.json.JSONObject;
import org.apache.log4j.Logger;
public class HttpUtil {
private static Logger log = Logger.getLogger(HttpUtil.class);
/**
* 发起http请求并获取结果
*
* @param requestUrl
* 请求地址
* @param requestMethod
* 请求方式(GET、POST)
* @param outputStr
* 提交的数据
* @return JSONObject(通过JSONObject.get(key)的方式获取json对象的属性值)
*/
public static JSONObject httpRequest(String requestUrl,
String requestMethod, String outputStr) {
JSONObject jsonObject = null;
StringBuffer buffer = new StringBuffer();
try {
URL url = new URL(requestUrl);
HttpURLConnection httpUrlConn = (HttpURLConnection) url
.openConnection();
httpUrlConn.setDoOutput(true);
httpUrlConn.setDoInput(true);
httpUrlConn.setUseCaches(false);
// 设置请求方式(GET/POST)
httpUrlConn.setRequestMethod(requestMethod);
if ("GET".equalsIgnoreCase(requestMethod))
httpUrlConn.connect();
// 当有数据需要提交时
if (null != outputStr) {
OutputStream outputStream = httpUrlConn.getOutputStream();
// 注意编码格式,防止中文乱码
outputStream.write(outputStr.getBytes("UTF-8"));
outputStream.close();
}
// 将返回的输入流转换成字符串
InputStream inputStream = httpUrlConn.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(
inputStream, "utf-8");
BufferedReader bufferedReader = new BufferedReader(
inputStreamReader);
String str = null;
while ((str = bufferedReader.readLine()) != null) {
buffer.append(str);
}
bufferedReader.close();
inputStreamReader.close();
// 释放资源
inputStream.close();
inputStream = null;
httpUrlConn.disconnect();
jsonObject = JSONObject.fromObject(buffer.toString());
} catch (ConnectException ce) {
log.error("http请求超时!");
} catch (Exception e) {
log.error("http请求异常!", e);
}
return jsonObject;
}
/**
* 发起https请求并获取结果
*
* @param requestUrl
* 请求地址
* @param requestMethod
* 请求方式(GET、POST)
* @param outputStr
* 提交的数据
* @return JSONObject(通过JSONObject.get(key)的方式获取json对象的属性值)
*/
public static JSONObject httpsRequest(String requestUrl,
String requestMethod, String outputStr) {
JSONObject jsonObject = null;
StringBuffer buffer = new StringBuffer();
try {
// 创建SSLContext对象,并使用我们指定的信任管理器初始化
TrustManager[] tm = { new MyX509TrustManager() };
SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");
sslContext.init(null, tm, new java.security.SecureRandom());
// 从上述SSLContext对象中得到SSLSocketFactory对象
SSLSocketFactory ssf = sslContext.getSocketFactory();
URL url = new URL(requestUrl);
System.setProperty("java.protocol.handler.pkgs", "javax.net.ssl");
HostnameVerifier hv = new HostnameVerifier() {
public boolean verify(String urlHostName, SSLSession session) {
return urlHostName.equals(session.getPeerHost());
}
};
HttpsURLConnection.setDefaultHostnameVerifier(hv);
HttpsURLConnection httpUrlConn = (HttpsURLConnection) url
.openConnection();
httpUrlConn.setSSLSocketFactory(ssf);
httpUrlConn.setDoOutput(true);
httpUrlConn.setDoInput(true);
httpUrlConn.setUseCaches(false);
// 设置请求方式(GET/POST)
httpUrlConn.setRequestMethod(requestMethod);
if ("GET".equalsIgnoreCase(requestMethod))
httpUrlConn.connect();
// 当有数据需要提交时
if (null != outputStr) {
OutputStream outputStream = httpUrlConn.getOutputStream();
// 注意编码格式,防止中文乱码
outputStream.write(outputStr.getBytes("UTF-8"));
outputStream.close();
}
// 将返回的输入流转换成字符串
InputStream inputStream = httpUrlConn.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(
inputStream, "utf-8");
BufferedReader bufferedReader = new BufferedReader(
inputStreamReader);
String str = null;
while ((str = bufferedReader.readLine()) != null) {
buffer.append(str);
}
bufferedReader.close();
inputStreamReader.close();
// 释放资源
inputStream.close();
inputStream = null;
httpUrlConn.disconnect();
jsonObject = JSONObject.fromObject(buffer.toString());
} catch (ConnectException ce) {
log.error("https请求超时!");
} catch (Exception e) {
log.error("https请求异常!", e);
}
return jsonObject;
}
/**
* 使用Get方式获取数据
*
* @param url
* @param charset
* @return
*/
public static String sendGet(String url, String charset) {
String result = "";
BufferedReader in = null;
try {
URL realUrl = new URL(url);
// 打开和URL之间的连接
URLConnection connection = realUrl.openConnection();
connection.setConnectTimeout(60000);
// 设置通用的请求属性
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();
// 定义 BufferedReader输入流来读取URL的响应
// in = new BufferedReader(new InputStreamReader(
// connection.getInputStream(), charset));
// String line;
// while ((line = in.readLine()) != null) {
// result.append(line).append("\n");
// }
result = changeInputStream(connection.getInputStream(), charset);
// result.deleteCharAt(result.length()-1);
} catch (Exception e) {
log.error("发送GET请求出现异常!", e);
}
// 使用finally块来关闭输入流
finally {
try {
if (in != null) {
in.close();
}
} catch (Exception ex) {
log.error("关闭GET请求流异常!", ex);
}
}
return result;
}
public static String changeInputStream(InputStream inputStream,
String encode) {
// 内存流
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
byte[] data = new byte[1024];
int len = 0;
String result = null;
if (inputStream != null) {
try {
while ((len = inputStream.read(data)) != -1) {
byteArrayOutputStream.write(data, 0, len);
}
result = new String(byteArrayOutputStream.toByteArray(), encode);
} catch (IOException e) {
e.printStackTrace();
}
}
return result;
}
/**
* POST请求,字符串形式数据
*
* @param url
* 请求地址
* @param param
* 请求数据
* @param charset
* 编码方式
*/
public static String sendPostUrl(String url, String param, String charset) {
PrintWriter out = null;
BufferedReader in = null;
StringBuffer result = new StringBuffer();
try {
URL realUrl = new URL(url);
// 打开和URL之间的连接
URLConnection conn = realUrl.openConnection();
没有合适的资源?快使用搜索试试~ 我知道了~
spring+hibernate多数据源整合
共85个文件
jar:30个
class:16个
java:13个
3星 · 超过75%的资源 需积分: 12 4 下载量 44 浏览量
2017-10-12
11:17:12
上传
评论
收藏 14.7MB RAR 举报
温馨提示
spring+hibernate多数据源整合可以将连接不同的数据库,然后进行对不同的数据库进行操作处理
资源推荐
资源详情
资源评论
收起资源包目录
Spring+Hibernate多数据源整合.rar (85个子文件)
RouterAssistant
.project 2KB
.settings
.jsdtscope 500B
org.eclipse.core.resources.prefs 88B
org.eclipse.wst.common.component 560B
org.eclipse.jdt.core.prefs 395B
org.eclipse.wst.common.project.facet.core.xml 252B
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.jsdt.ui.superType.name 6B
.mymetadata 318B
WebRoot
WEB-INF
spring-servlet.xml 2KB
web.xml 2KB
lib
commons-dbcp.jar 119KB
commons-logging.jar 59KB
spring-webmvc.jar 393KB
cglib-nodep-2.1_3.jar 317KB
slf4j-log4j12-1.5.0.jar 9KB
jta.jar 13KB
hibernate3.jar 2.11MB
log4j-1.2.15.jar 383KB
commons-lang.jar 237KB
mysql-connector-java-5.1.0-bin.jar 553KB
json_simple-1.1.jar 16KB
javax.servlet.jsp.jstl.jar 44KB
ojdbc14.jar 1.13MB
xwork-2.1.2.jar 2.18MB
fastjson-1.1.22.jar 338KB
commons-io-1.4.jar 106KB
freemarker-2.3.8.jar 784KB
hsqldb.jar 610KB
json-lib-2.2.2-jdk15.jar 141KB
slf4j-api-1.5.0.jar 16KB
commons-fileupload-1.2.1.jar 56KB
gson-2.2.1.jar 185KB
dom4j-1.6.1.jar 307KB
poi-3.9-20121203.jar 1.78MB
ehcache-1.5.0.jar 258KB
commons-pool.jar 61KB
antlr-2.7.6.jar 433KB
commons-collections.jar 558KB
spring.jar 2.81MB
jstl-impl.jar 379KB
classes
log4j.properties 892B
com
bmsh
router
assistant
dao
MacDaoSupport.class 2KB
PartnerDaoSupport$1.class 697B
MacDaoSupport$1.class 673B
PartnerDaoSupport.class 2KB
action
MacAction.class 3KB
service
ObjectMapper.class 6KB
PartnerService.class 264B
MacService.class 264B
impl
MacServiceImpl.class 1KB
PartnerServiceImpl.class 1KB
entity
Tag.hbm.xml 1KB
Machine.hbm.xml 987B
Tag.class 2KB
Machine.class 2KB
util
ObjectMapper2.class 4KB
MyX509TrustManager.class 910B
HttpUtil.class 10KB
HttpUtil$1.class 926B
jdbc.properties 1KB
applicationContext.xml 5KB
hibernate.cfg.xml 517B
index.jsp 834B
META-INF
MANIFEST.MF 36B
.myeclipse
src
com
bmsh
router
assistant
dao
PartnerDaoSupport.java 2KB
MacDaoSupport.java 1KB
action
MacAction.java 2KB
service
MacService.java 197B
impl
PartnerServiceImpl.java 782B
MacServiceImpl.java 822B
ObjectMapper.java 5KB
PartnerService.java 189B
entity
Tag.hbm.xml 1KB
Machine.hbm.xml 987B
Tag.java 2KB
Machine.java 1KB
util
ObjectMapper2.java 4KB
MyX509TrustManager.java 781B
HttpUtil.java 11KB
config
log4j.properties 892B
jdbc.properties 1KB
applicationContext.xml 5KB
hibernate.cfg.xml 517B
.classpath 3KB
共 85 条
- 1
资源评论
- 會飛的鴨嘴獸2019-05-20挺好的,参考一下
- sic-ex2018-02-20无法运行呀!
java_han
- 粉丝: 3
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 软件仿真多机串行通信.doc
- Python大作业:音乐播放软件(爬虫+可视化+数据分析+数据库)
- 课程设计-python爬虫-爬取日报,爬取日报文章后存储到本地,附带源代码+课程设计报告
- 软件和信息技术服务行业投资与前景预测.pptx
- 课程设计-基于SpringBoot + Mybatis+python爬虫NBA球员数据爬取可视化+源代码+文档+sql+效果图
- 软件品质管理系列二项目策划规范.doc
- 基于TensorFlow+PyQt+GUI的酒店评论情感分析,支持分析本地数据文件和网络爬取数据分析+源代码+文档说明+安装教程
- 软件定义无线电中的模拟电路测试技术.pptx
- 软件开发协议(作为技术开发合同附件).doc
- 软件开发和咨询行业技术趋势分析.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功