function qrqm(){ //获取base64 var stream = obj.HWGetBase64Stream(2); if(stream.length > 0){ //保存此人签名 $.post('/sdcsm/qianzi/savesign.action',{ dGrdabh:"371426110010004802", tablename:"T_JK_JKTJ", signcolumn:"jgfk_brqz", tablecreatetime:"2023-07-20 17:25:28", loadurl:"null", pic:stream },function(data){ if(data == '0'){ alert("签名保存成功"); if('null' != 'null' && 'null' != ''){ window.location.href='null'; }else{ var api=frameElement.api; var W=api.opener; W.closedialog2(); } }else{ alert("签名保存失败"); } }); }else{ //如果属于修改,并且没有再次签名,刷新页面 if('0' == '1' && nullbc){ //alert('null'); if('null' != 'null' && 'null' != ''){ window.location.href='null'; }else{ var api=frameElement.api; var W=api.opener; W.closedialog2(); } }else{ alert("请签名后再保存"); } } } 使用Java DefaultHttpClient封装
时间: 2024-04-22 14:24:00 浏览: 134
基于WoodandBerry1和非耦合控制WoodandBerry2来实现控制木材和浆果蒸馏柱控制Simulink仿真.rar
你可以使用 Java 的 `DefaultHttpClient` 类来封装这段 JavaScript 代码。下面是一个使用 `DefaultHttpClient` 实现相同功能的示例代码:
```java
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
// 创建 HttpClient 实例
HttpClient httpClient = new DefaultHttpClient();
// 创建 HttpPost 请求
HttpPost httpPost = new HttpPost("http://example.com/sdcsm/qianzi/savesign.action");
try {
// 设置请求参数
List<NameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("dGrdabh", "371426110010004802"));
params.add(new BasicNameValuePair("tablename", "T_JK_JKTJ"));
params.add(new BasicNameValuePair("signcolumn", "jgfk_brqz"));
params.add(new BasicNameValuePair("tablecreatetime", "2023-07-20 17:25:28"));
params.add(new BasicNameValuePair("loadurl", "null"));
params.add(new BasicNameValuePair("pic", obj.HWGetBase64Stream(2)));
httpPost.setEntity(new UrlEncodedFormEntity(params));
// 发送请求并获取响应
HttpResponse response = httpClient.execute(httpPost);
HttpEntity entity = response.getEntity();
// 读取响应数据
BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent()));
StringBuilder responseText = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
responseText.append(line);
}
// 处理响应数据
if (responseText.toString().equals("0")) {
System.out.println("签名保存成功");
if ("null".equals("null") && "null".equals("")) {
// window.location.href='null';
} else {
// var api=frameElement.api;
// var W=api.opener;
// W.closedialog2();
}
} else {
System.out.println("签名保存失败");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
// 关闭 HttpClient
httpClient.getConnectionManager().shutdown();
}
}
}
```
在上面的示例中,我们使用 `DefaultHttpClient` 类来发送 HTTP POST 请求,并使用 `HttpPost` 类设置请求参数。我们将参数封装在 `List<NameValuePair>` 中,并使用 `UrlEncodedFormEntity` 类将参数编码为表单数据。然后,我们执行请求并获取响应。通过读取响应数据,你可以根据需要进行进一步的处理。
请注意,`DefaultHttpClient` 类已被标记为过时,推荐使用更现代的 `HttpClient` 实现。你可以使用 Apache HttpClient 5.x 版本或 Java 原生的 `java.net.http.HttpClient` 类进行 HTTP 请求。这些类提供了更强大和灵活的功能,可以满足更多的需求。
希望对你有所帮助!
阅读全文