JDK提供了供我们访问url获得数据的类,核心类主要是URL,URLConnection等(详见JDK API)
下面以XML形式实现两者通信
Servlet端发送信息:
- protected void doGet(HttpServletRequest req, HttpServletResponse resp)
- throws ServletException, IOException {
-
- resp.setCharacterEncoding("utf-8");
- PrintWriter print= resp.getWriter();
- String s = "<?xml version='1.0' encoding='utf-8'?>
- <web-shhzs>
- <return-param>
- <return-no>0</return-no>
- <return-text>执行正常</return-text>
- </return-param>
- <ptfp>
- <kpxsje>123456789</kpxsje>
- </ptfp>
- </web-shhzs>";
- print.write(s);
- print.flush();
- print.close();
- }
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
resp.setCharacterEncoding("utf-8");
PrintWriter print= resp.getWriter();
String s = "<?xml version='1.0' encoding='utf-8'?>
<web-shhzs>
<return-param>
<return-no>0</return-no>
<return-text>执行正常</return-text>
</return-param>
<ptfp>
<kpxsje>123456789</kpxsje>
</ptfp>
</web-shhzs>";
print.write(s);
print.flush();
print.close();
}
获得访问返回信息,以字符串返回:
- public static String getXML(String sh,String type,String date) throws IOException{
- StringBuffer urlStr = new StringBuffer("http://localhost:8888/Hello/getDom.do");
-
-
-
- URL url = new URL(urlStr.toString());
- URLConnection URLconnection = url.openConnection();
- HttpURLConnection httpConnection = (HttpURLConnection)URLconnection;
- int responseCode = httpConnection.getResponseCode();
-
-
- StringBuffer totalXML = new StringBuffer("");
- if(responseCode == HttpURLConnection.HTTP_OK){
- InputStream httpStream = httpConnection.getInputStream();
- BufferedReader bufferReader = new BufferedReader(new InputStreamReader(httpStream));
- String currLine = "";
- while((currLine=bufferReader.readLine())!=null){
-
-
- totalXML.append(currLine);
- }
- }
-
-
- return totalXML.toString();
- }
public static String getXML(String sh,String type,String date) throws IOException{
StringBuffer urlStr = new StringBuffer("http://localhost:8888/Hello/getDom.do");
// urlStr.append("?param1=").append(sh)
// .append("¶m2=").append(type)
// .append("¶m3=").append(date);
URL url = new URL(urlStr.toString());
URLConnection URLconnection = url.openConnection();
HttpURLConnection httpConnection = (HttpURLConnection)URLconnection;
int responseCode = httpConnection.getResponseCode();
// FileOutputStream fos=new FileOutputStream("d://line.txt",true);
// DataOutputStream out=new DataOutputStream(fos);
StringBuffer totalXML = new StringBuffer("");
if(responseCode == HttpURLConnection.HTTP_OK){
InputStream httpStream = httpConnection.getInputStream();
BufferedReader bufferReader = new BufferedReader(new InputStreamReader(httpStream));
String currLine = "";
while((currLine=bufferReader.readLine())!=null){
// out.writeBytes(new String(currLine.getBytes(),"utf-8"));
// out.writeBytes("\r\n");
totalXML.append(currLine);
}
}
// fos.close();
// out.close();
return totalXML.toString();
}
用DOM4J解析XML获得相应信息封装为Map
- public static Map getFpxx(String text){
-
- Map map = new HashMap();
- Document document;
- try {
-
- document = DocumentHelper.parseText(text);
- Element root = document.getRootElement();
- Element e1 = root.element("return-param");
- if(null!=e1){
- if(null!=e1){
- String state = e1.element("return-text").getStringValue();
- System.out.println(state);
- map.put("state", state);
-
- }
- Element e2 = root.element("ptfp");
- if(null!=e2){
- String kpxsje = e2.element("kpxsje").getStringValue();
- System.out.println(kpxsje);
- map.put("result", kpxsje);
- }
- }
- } catch (DocumentException e) {
-
- e.printStackTrace();
- logger.error("字符串转换为xml时出错");
- }
- return map;
- }
分享到:
相关推荐
2. **测试管道函数**:使用模拟的 XML 文档作为输入,测试管道函数是否能正确解析数据并以表格形式输出。 ### 总结 本文档详细介绍了如何在 Oracle 数据库中使用 UTL_HTTP 包访问 SOAP 或 HTTP 接口,并通过创建...
在IT行业中,PLC(可编程逻辑控制器)和XML(可扩展标记语言)是两种非常...反之,也可以从XML文件中读取数据并写入PLC,实现远程控制或自动化任务。这样的系统在制造业、物联网和工业4.0应用中具有广泛的应用前景。
在“学生信息查询服务XML版”中,学生信息是以XML文件的形式保存的,这些文件通常位于WebSite1项目下的App_Data目录。App_Data是一个常见的.NET Framework应用程序存放数据文件的目录,它可以包含数据库文件、文本...
### 用友U8_EAI数据接口常见问题详解 #### 1. CRM与U8接口,如何控制只从U8导入当前时间以后的数据? - **问题背景**:在实际业务场景中,通常需要确保从用友U8系统同步至CRM系统的数据是最新的,即只同步在特定...
接着,我们创建了一个FormUrlEncodedContent对象,其中包含了要发送的数据,这些数据将以键值对的形式发送。PostAsync方法用于发送POST请求,第一个参数是API的端点路径,第二个参数是我们要发送的内容。最后,我们...
- 目标是依据过往对外数据查询的需求,形成一套社保数据查询平台的技术方案,包括整体架构、接口数据流图和具体实施方案。 - 范围仅限于社保对外数据查询平台的需求,不涉及其他系统或业务。 2. **总体架构**: ...
8. **XML与SOAP、RESTful服务**:XML是Web服务通信的基础,SOAP(简单对象访问协议)使用XML消息进行远程调用,而RESTful服务则常通过XML作为传输数据的载体。 9. **Spring框架中的XML配置**:Spring框架允许通过...
例如,反射可以用来动态地加载Web服务的接口,自定义特性可以用于装饰服务方法以提供元数据信息,XML序列化则确保数据以标准格式在网络间传递。在"DBWebService"的上下文中,这可能是这样的流程: - 客户端通过反射...
4. **WebService**:WebService是一种跨平台、跨系统的远程调用技术,基于XML进行数据交换,简化了系统间的通信,降低了技术要求和操作平台限制。 5. **XML(可扩展标记语言)**:XML是一种用于表示结构化信息的...
Java程序可以通过DOM API访问XML数据,XML解析器则负责生成XML文档的DOM表示。 图1展示了一个处理XML文档的Java分布式应用模型。在这个模型中,数据可以从关系数据库等数据源获取。Java代码负责处理这些数据,并...
`IValueConverter`接口则允许我们将数据源的值转换为适合UI显示的形式,或者将用户界面的输入转换回数据源的格式。同时,`ValidationSummary`控件可以帮助我们集中显示验证错误,提供更好的用户体验。 总的来说,...
这种绑定允许开发人员以面向对象的方式处理XML数据,提高了开发效率和代码的可维护性。 - **双向映射**:JAXB支持从Java对象到XML文档的序列化(marshalling),以及从XML文档到Java对象的反序列化(unmarshalling...
DOM(Document Object Model,文档对象模型)是一种处理XML文件的接口,它提供了一种将XML文档表示为树形结构的方法,使得开发人员可以方便地访问、修改和操作文档中的元素。DOM接口支持多种编程语言,如Java、C#等...
CXF框架提供了基于Java的接口来定义和实现WebService,这些接口基于JAX-WS(Java API for XML Web Services)标准。开发者可以通过CXF快速地创建服务端点和服务客户端,实现服务的发布和调用。 2. **XML处理** 在...
- 数据交换仅限于序列化后的数据,最常见的形式是XML,因为XML具有良好的可读性和结构化特性,适合跨平台的数据交换。 2. **XML Web Service的实例——分布式课件搜索系统** - 在这个实例中,我们有一个名为`...
9. **数据可视化**:项目中提到的“数据可视化”可能是使用Python的matplotlib、seaborn或者更专业的数据可视化库如Tableau,将抓取和存储的数据以图表的形式展示出来,帮助分析和理解数据。 10. **版本控制**:...
BlazeDS以servlet的形式在Java应用服务器上运行,支持标准的Java网络应用。在服务器端,BlazeDS提供了三种核心服务:远程调用、访问代理和消息服务,同时还允许开发者自定义服务。客户端则通过RemoteObject、...
API是应用程序接口的简称,它规定了应用程序如何请求服务以及服务如何响应请求,而Web服务接口通常采用可扩展标记语言(XML)或简单对象访问协议(SOAP)等技术实现不同系统之间的通信。 在接口的实现方式上,常见...
当需要存储或访问远程数据时,可以使用网络存储。Android提供了HttpURLConnection、HttpClient、OkHttp等网络库进行HTTP通信,支持JSON、XML等数据格式的解析和序列化。此外,还可以使用Google的Firebase Cloud ...