?? xmlparamrequestexample.java
字號:
/*
* 創(chuàng)建日期 2006-9-4
*
* TODO 要更改此生成的文件的模板,請轉(zhuǎn)至
* 窗口 - 首選項 - Java - 代碼樣式 - 代碼模板
*/
package test;
/**
* @author wufenghanren
*
* TODO 要更改此生成的類型注釋的模板,請轉(zhuǎn)至 窗口 - 首選項 - Java - 代碼樣式 - 代碼模板
*/
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class XmlParamRequestExample extends HttpServlet {
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String xml = readXMLFromRequestBody(request);
Document xmlDoc = null;
//使用SAX讀取XML文本
try {
xmlDoc = DocumentBuilderFactory.newInstance().newDocumentBuilder()
.parse(new ByteArrayInputStream(xml.getBytes()));
} catch (ParserConfigurationException e) {
System.out.println("ParserConfigurationException: " + e);
} catch (SAXException e) {
System.out.println("SAXException: " + e);
}
//創(chuàng)建響應(yīng)文本
NodeList tastes = xmlDoc.getElementsByTagName("taste");
String responseText = "";
if (tastes.getLength() != 0) {
String taste = null;
responseText = "Your Hobbies:<br>";
for (int i = 0; i < tastes.getLength(); i++) {
taste = tastes.item(i).getFirstChild().getNodeValue();
responseText = responseText + taste + "<br>";
}
} else
responseText = "You have not input your hobbies";
response.setContentType("text/html;charset=gb2312");
response.getWriter().print(responseText);
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
}
//讀取傳進(jìn)來的XML格式的參數(shù)
private String readXMLFromRequestBody(HttpServletRequest request) {
StringBuffer xml = new StringBuffer();
String line = null;
try {
BufferedReader reader = request.getReader();
while ((line = reader.readLine()) != null) {
xml.append(line);
}
} catch (Exception e) {
System.out.println("Error reading XML: " + e.toString());
}
return xml.toString();
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -