📄 httpconnmanager.java
字号:
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.ProtocolException;
import java.net.URL;
/*
* Guo Shengxing created 2007-09-01
*
* For Shang hai SSO needs
*
* please use this class as follow specified:
* 1st: new an HttpSenderReceiver object
* 2nd: openConn with url
* 3rd: send the xml message by sendHttpRequest
* 4th: readResponse from server
* 5th: closeConn
*/
public class HttpConnManager {
private String url = null;
private HttpURLConnection conn = null;
int connCount = 5;
public HttpConnManager(String url) {
this.url = url;
}
public boolean openConn() {
int num = connCount;
while (num != 0) {
if (conn == null) {
conn = createHttpUrlConn(url);
} else {
return true;
}
num--;
}
return false;
}
public void setHttpUrlConnConfig() {
try {
// 连接主机的超时时间(单位:毫秒)
System.setProperty("sun.net.client.defaultConnectTimeout", "30000");
// 从主机读取数据的超时时间(单位:毫秒)
System.setProperty("sun.net.client.defaultReadTimeout", "30000");
conn.addRequestProperty("content-type", "text/xml;charset=UTF-8");
//conn.setRequestProperty( "Cookie", "JSESSIONID=" + request.getSession().getId() );
conn.setDoInput(true);
conn.setUseCaches(false);
conn.setDoOutput(true);
conn.setRequestMethod("POST");
} catch (ProtocolException e) {
System.out.println("setHttpUrlConnConfig err:\n" + e);
}
}
public void closeConn() {
if (conn != null) {
conn.disconnect();
}
conn = null;
}
private HttpURLConnection createHttpUrlConn(String url) {
try {
return (HttpURLConnection) new URL(url).openConnection();
} catch (IOException ex) {
System.out.println("DFJDLRJE" + ex);
}
return null;
}
public boolean isGetUrlConn() {
return (conn == null) ? false : true;
}
public boolean sendHttpRequest(String xmlMessage) {
if (xmlMessage == null) {
System.out
.println("sendHttpRequest get invalid parameter:xmlMessage"
+ xmlMessage);
return false;
}
boolean con = isGetUrlConn();
if (con == false) {
System.out.println("发送消息失败");
return false;
}
System.out.println("connect=" + con);
System.out.println("xmlMessage=\n" + xmlMessage);
try {
conn.setDoOutput(true);
OutputStream os = conn.getOutputStream();
BufferedOutputStream outStream = new BufferedOutputStream(os);
outStream.write(xmlMessage.getBytes());
outStream.flush();
outStream.close();
return true;
} catch (IOException e) {
System.out.println(e);
}
return false;
}
public String readResponse() {
/* 获取服务器端返回信息 */
String stringValue = null;
try {
InputStream inStream = conn.getInputStream();
DataInputStream in = new DataInputStream(inStream);
stringValue = in.readUTF();
in.close();
} catch (IOException e) {
System.out.println(e);
}
System.out.println("###[" + stringValue + "]###");
return stringValue;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -