今天干活时有个需求,要和.net进行一次交互,想在Struts的Action中接收.net通过HTTPt发过来的XML格式的字符流!然后就解析这个XML字符串通过一些处理然后存数据库。
在做完解析过程和存数据库后,想自己测试一下,所以就想到了通过JDK的HttpURLConnection向自己的Action发送一个用于测试的XML格式的字符流,然后就出现了以下的代码
public class TestClientRegist extends TestCase {
public void testRegist(){
try{
// 用于测试,读的自己本地的XML文件
FileInputStream input = new FileInputStream(new File("regist.xml"));
// Action地址
URL url = new URL("http://localhost:8080/fstm/rmi/client/regist.do");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
byte[] b = new byte[1024];
int l = 0;
OutputStream out = conn.getOutputStream();
out.write("data=".getBytes());
while((l = input.read(b, 0, b.length)) != -1){
out.write(b, 0, l);
}
out.close();
InputStream in = conn.getInputStream();
in.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
}
这些代码是没问题的啦。但没用过这东西,刚开始出了好多问题。
1,第一次在下面没有获取“输入流”,发现没执行时没有反应,Action那边也没有调用
加上以后就好了。问了个“高人”才明白,这里需要建立一次连接,当执行完输出流后。还要接收HTTP的响应。还遇到一些别的问题就不在罗嗦了~~~~大家有什么问题可以来多讨论讨论。
有什么高见请赐教。一定认真接受。
下面在给出Action接收的代码
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
try {
InputStream in = request.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in));
StringBuffer data = new StringBuffer();
String line = null;
while((line = br.readLine()) != null){
data.append(line);
}
logger.debug(data);
clientMgr.doRegistManager(data.toString());
// 设置返回状态
response.setStatus(HttpServletResponse.SC_OK);
} catch (Exception ex) {
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
logger.warn("", ex);
}
return null;
}
分享到:
相关推荐
使用HttpURLConnection发送短信
主要介绍了java HttpURLConnection 发送文件和字符串信息的相关资料,需要的朋友可以参考下
httpurlconneciton的androidx相关代码,希望大家喜欢,含有person,mainactivity,resutbean三个类
调用URL对象的openConnection( )来获取HttpURLConnection对象实例: HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 设置HTTP请求使用的方法:conn.setRequestMethod("GET"); 设置连接超时,...
Java利用HttpURLConnection发送post请求上传文件
主要介绍了JAVA通过HttpURLConnection 上传和下载文件的方法,非常具有实用价值,需要的朋友可以参考下
import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.List; import java.util.Map; public class HttpTest { private HttpURLConnection hc = ...
java实现多次HttpURLConnection共享session,发送两次请求共享同一个session,这样做爬虫的时候就可以爬网站登录后能看到的内容了
android之通过HttpURLConnection类查看网络图片、网络源码的例子android之通过HttpURLConnection类查看网络图片、网络源码的例子
主要给大家介绍java利用原始httpUrlConnection发送post数据,设计到httpUrlConnection类的相关知识,感兴趣的朋友跟着小编一起学习吧
HttpUrlConnection对象模拟POST带JSON字符串的AJAX请求失败! 我的目的是抓取响应结果字符串"301",但抓取的结果是一堆HTML代码,哪位大神看看哪有毛病?
HttpUrlConnection 用Post方式提交请求 ,我找的不容易,需要的时候很重要
HttpURLConnection的(get请求、post请求)
HttpURLConnection文件下载\httpURLConnection文件下载
主要介绍了java 使用HttpURLConnection发送数据简单实例的相关资料,需要的朋友可以参考下
HttpURLConnection conn = (HttpURLConnection) imageUrl.openConnection();// 取得连接 conn.connect(); InputStream is = conn.getInputStream();//取得返回的InputStream bitmap = BitmapFactory....
NULL 博文链接:https://zjutsoft.iteye.com/blog/1313754
服务端用ssh框架搭建 数据库...客户端用Android编译,HttpUrlConnection连接 通过json传输数据 部分电脑需要关闭防火墙 android真机和电脑连在同一网段,cmd——》ipconfig查找网段ip并在源码中修改 内附课程设计报告
HttpURLConnection的demo,里面有网络请求get post 上传文件,下载文件,介绍HttpURLConnection这个类整体流程是怎样使用的,方便初学者学习
使用HttpUrlConnection下载图片显示到ImageView上,使用HttpUrlConnection下载百度网页源码并显示在WebView上。