導航:首頁 > 編程語言 > javaxml請求參數

javaxml請求參數

發布時間:2023-03-21 02:33:22

java xml 介面

自己寫一個servlet 接收請求。收到請求後用dom4j或jdom生成一個對應的xml,然後用response的輸出流把xml作為響應輸出。

❷ java 怎麼接收第三方傳過來的xml

下面是一個java Servlet示例,用於接收POST提交過來的XML數據(僅供參考 ):

Java Servlet代碼片段:
import java.io.*;

//...... Servlet doPost相關代碼略去

BufferedReader in = request.getReader();
String line;
String realPath = request.getServletContext().getRealPath("/saved-data.txt");

File f = new File(realPath);
FileWriter fw = new FileWriter(realPath);
BufferedWriter bw = new BufferedWriter(fw);
try {
while ((line = in.readLine()) != null) {
out.println(line);
bw.write(line);
bw.newLine();
}
bw.close();
fw.close();
out.print("saved data ok!");
} catch (Exception e) {
e.printStackTrace();
out.println("Mission Completed");
}

❸ java代碼發送post請求,並接收xml文件。。。 發送請求時要帶參數

用ajax來發送,ajax返回的就是xml或者json.

❹ JAVA POST xml請求

是的,就是將你的xml文本內容寫出去就好了,接收端接收到後解析xml 以取得參數名及值

❺ java中如何將參數傳入xml文件中

不要迷戀xml,xml只是個字元串,只不過是按照一定格式的字元串。

❻ 通過java怎麼配置xml文件

JAVA與XML文件,可以說是軟體開發的「黃金搭檔」,而如何使用JAVA完成對XML文件的讀取,是我們首先要解決的問題。
一、XML文件

這個示例文件包括了用來打開ORACLE資料庫的各種參數

<?xml version="1.0" encoding="UTF-8"?>
<dbmsg>
<dbinfo>
<drivername>oracle.jdbc.driver.OracleDriver</drivername>
<sConnStr>jdbc:oracle:thin:@11.88.225.80:1521:VOUCHERDB</sConnStr>
<username>SYS AS SYSDBA</username>
<password>voucherdb</password>
</dbinfo>
</dbmsg>

二、編寫類名為ReadXml的類,用於解析XML文件

我們要在應用程序中打開資料庫,就必須完成對該文件中drivername、sConnStr、username、password的讀取,通過查找有關資料,筆者編制了以下程序,用於讀取文件名為filename的XML文件。

package voucher.basic;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class ReadXml {
private String drivername;
private String sConnStr;
private String username;
private String password;

public String getDrivername() {
return drivername;
}

public String getSConnStr() {
return sConnStr;
}

public String getUsername() {
return username;
}

public String getPassword() {
return password;
}
public void setDrivername(String drivername) {
this.drivername = drivername;
}

public void setSConnStr(String connStr) {
sConnStr = connStr;
}

public void setUsername(String username) {
this.username = username;
}

public void setPassword(String password) {
this.password = password;
}

public ReadXml(String fileName){
DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();
try {
DocumentBuilder dombuilder=domfac.newDocumentBuilder();
InputStream is=new FileInputStream(fileName);
Document doc=dombuilder.parse(is);
Element root=doc.getDocumentElement();
NodeList dbinfo=root.getChildNodes();
if(dbinfo!=null){
for(int i=0;i<dbinfo.getLength();i++){
Node db=dbinfo.item(i);
for(Node node=db.getFirstChild();node!=null;node=node.getNextSibling()){
if(node.getNodeType()==Node.ELEMENT_NODE){
if(node.getNodeName().equals("drivername")){
setDrivername(node.getFirstChild().getNodeValue());
}
if(node.getNodeName().equals("sConnStr")){
setSConnStr(node.getFirstChild().getNodeValue());
}
if(node.getNodeName().equals("username")){
setUsername(node.getFirstChild().getNodeValue());
}
if(node.getNodeName().equals("password")){
setPassword(node.getFirstChild().getNodeValue());
}
}
}
}
}
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

這個以ReadXml命名的類,使用了參數為文件名的構造方法,用戶只要將配置文件我名稱傳遞給該方法,就可以完成對XML文件的解析,進而完成對相應參數數的讀取。三、如何獲取XML文件全路徑並讀取配置參數

獲取XML文件全路徑的方法有兩個,一是在servlet中獲取,二是在單獨的JAVA類中獲取。

1.在servlet中獲取XML文件的全路徑並讀取配置參數

程序片段String dirPath = getServletContext().getRealPath( "/WEB-INF");
String fileName = dirPath + "/conn.xml";
ReadXml xm = new ReadXml(fileName);
String DriverName = xm.getDrivername();
String connStr = xm.getSConnStr();
String user = xm.getUsername();
String pas = xm.getPassword();

將這段程序添加到servlet中dopost()之後即可完成參數的讀取

2.在單獨的JAVA類中獲取全路徑並讀取配置參數

程序片段String dirpath = System.getProperty("user.dir");
String xmlFile = dirpath + "/WebRoot/WEB-INF/conn.xml";
ReadXml rdxml = new ReadXml(xmlFile);
String driverName = rdxml.getDrivername();
String sConnStr = rdxml.getSConnStr();
String userName = rdxml.getUsername();
String passWord = rdxml.getPassword();註:配置文件conn.xml保存在webroot/WEB-INF目錄中。

❼ java文件中怎麼獲取web.xml中的全局參數

每個 servlet 中 web.xml 中可以有 <init-param > 參數,在 servlet 的 init 方法中可以把它們取出來並保存在某個地方(比如一個靜態成員變數中,或者一個靜態的 map 變數中,因為這個參數不會改變,因此可以直接放在靜態變數中),其它的 Java 類就能去靜態變數中取得這個參數。

如果你的程序不是一個 web 程序的話,可以把它放在命令行 -Djdbc.drive=org.git.mm.mysql.Driver 這樣的參數中,之後程序可以用 System.getProperty("jdbc.driver"); 讀取出來。或者放在一個 properties 配置文件中,然後讀取這個properties 文件。

❽ 怎樣在java 中調用web service 傳入參數返回xml

js 代碼

function ajaxRequest()
{
var url = "http://********.asmx";

//設置webService傳入參數
//
//注意:
//
// 調用.Net 寫的webservice(如例子中的webservicedemo.asmx)
// HelloTo(String name) 針對name參數必須寫成 <name></name>wqj,還有更多參數一樣寫,使用名稱匹配
// 傳入的參數數量可以不等於(多於或少於)方法要求的參數
//
// 調用java(xfire) 發布的webService
// 傳入的參數必須與調用方法的參數數量相等,且按傳入值的順序進行匹配
//

var para = "<name></name>wqj"; 這里應該是一個標準的xml形式,源碼貼出來時被慮掉了,請參看附件源碼

var op = {
data:para,
onComplete: showResponse,
onFailure:showError,
update:'ajaxBack'
};

var service = new WebService(url,"HelloTo",op);
service.request();
return false;
}
function showError(obj)
{
//obj 是一個xmlHttpRequest對象
alert("error");
}
function showResponse(requestText,requestXML)
{
//requestText 返回的文本
//requestXML 返回的XML
alert("ok");
}

❾ 在java中解析xml有哪幾種方法

(1)DOM解析
DOM是html和xml的應用程序介面(API),以層次結構(類似於樹型)來組織節點和信息片段,映射XML文檔的結構,允許獲取
和操作文檔的任意部分,是W3C的官方標准
【優點】
①允許應用程序對數據和結構做出更改。
②訪問是雙向的,可以在任何時候在樹中上下導航,獲取和操作任意部分的數據。
【缺點】
①通常需要載入整個XML文檔來構造層次結構,消耗資源大。
【解析詳解】
①構建Document對象:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = bdf.newDocumentBuilder();
InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(xml文件);
Document doc = bd.parse(is);
②遍歷DOM對象
Document: XML文檔對象,由解析器獲取
NodeList: 節點數組
Node: 節點(包括element、#text)
Element: 元素,可用於獲取屬性參數
(2)SAX(Simple API for XML)解析
流模型中的"推"模型分析方式。通過事件驅動,每發現一個節點就引發一個事件,事件推給事件處理器,通過回調方法
完成解析工作,解析XML文檔的邏輯需要應用程序完成
【優勢】
①不需要等待所有數據都被處理,分析就能立即開始。
②只在讀取數據時檢查數據,不需要保存在內存中。
③可以在某個條件得到滿足時停止解析,不必解析整個文檔。
④效率和性能較高,能解析大於系統內存的文檔。
【缺點】
①需要應用程序自己負責TAG的處理邏輯(例如維護父/子關系等),文檔越復雜程序就越復雜。
②單向導航,無法定位文檔層次,很難同時訪問同一文檔的不同部分數據,不支持XPath。
【原理】
簡單的說就是對文檔進行順序掃描,當掃描到文檔(document)開始與結束、元素(element)開始與結束時通知事件
處理函數(回調函數),進行相應處理,直到文檔結束
【事件處理器類型】
①訪問XML DTD:DTDHandler
②低級訪問解析錯誤:ErrorHandler
③訪問文檔內容:ContextHandler
【DefaultHandler類】
SAX事件處理程序的默認基類,實現了DTDHandler、ErrorHandler、ContextHandler和EntityResolver介面,通常
做法是,繼承該基類,重寫需要的方法,如startDocument()
【創建SAX解析器】
SAXParserFactory saxf = SAXParserFactory.newInstance();
SAXParser sax = saxf.newSAXParser();
註:關於遍歷
①深度優先遍歷(Depthi-First Traserval)
②廣度優先遍歷(Width-First Traserval)
(3)JDOM(Java-based Document Object Model)
Java特定的文檔對象模型。自身不包含解析器,使用SAX
【優點】
①使用具體類而不是介面,簡化了DOM的API。
②大量使用了Java集合類,方便了Java開發人員。
【缺點】
①沒有較好的靈活性。
②性能較差。
(4)DOM4J(Document Object Model for Java)
簡單易用,採用Java集合框架,並完全支持DOM、SAX和JAXP
【優點】
①大量使用了Java集合類,方便Java開發人員,同時提供一些提高性能的替代方法。
②支持XPath。
③有很好的性能。
【缺點】
①大量使用了介面,API較為復雜。
(5)StAX(Streaming API for XML)
流模型中的拉模型分析方式。提供基於指針和基於迭代器兩種方式的支持,JDK1.6新特性
【和推式解析相比的優點】
①在拉式解析中,事件是由解析應用產生的,因此拉式解析中向客戶端提供的是解析規則,而不是解析器。
②同推式解析相比,拉式解析的代碼更簡單,而且不用那麼多庫。
③拉式解析客戶端能夠一次讀取多個XML文件。
④拉式解析允許你過濾XML文件和跳過解析事件。
【簡介】
StAX API的實現是使用了Java Web服務開發(JWSDP)1.6,並結合了Sun Java流式XML分析器(SJSXP)-它位於
javax.xml.stream包中。XMLStreamReader介面用於分析一個XML文檔,而XMLStreamWriter介面用於生成一個
XML文檔。XMLEventReader負責使用一個對象事件迭代子分析XML事件-這與XMLStreamReader所使用的游標機制
形成對照。

閱讀全文

與javaxml請求參數相關的資料

熱點內容
主角叫楚天的都市小說 瀏覽:754
程序員三重境界 瀏覽:871
菜雞方舟上怎麼開伺服器 瀏覽:727
馬林固件編譯錯誤 瀏覽:910
市場營銷案例pdf 瀏覽:770
魔爪閱讀網 瀏覽:19
app地推業績統計在哪裡 瀏覽:993
維語電影網站大全 瀏覽:958
程序員骨腫瘤上熱搜 瀏覽:847
聚優電影 瀏覽:45
國企保底工資演算法 瀏覽:730
視聽說伺服器地址是什麼意思 瀏覽:657
一部男主叫大志的電影叫 瀏覽:650
安卓反編譯後編譯不回來 瀏覽:195
快穿肉文推薦 瀏覽:263
lol新手推薦什麼伺服器 瀏覽:283
尼桑奇駿壓縮機 瀏覽:170
android模態對話框 瀏覽:793
手機為什麼無法接到伺服器 瀏覽:627
背景虛化人物清晰哪個app 瀏覽:657