【Java开源代码栏目提醒】:网学会员--在 Java开源代码编辑为广大网友搜集整理了:XmlParamRequestExample.java绩等信息,祝愿广大网友取得需要的信息,参考学习。
/*
* 创建日期 2006-9-4
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 -
Java - 代码样式 - 代码模板
*/
package test;
/**
* @author wufenghanren
*
* TODO 要更改此生成的类型注释的模板,请转至 窗口 - 首选项 - 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);
}
//创建响应文本
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 {
}
//读取传进来的XML格式的参数
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();
}
}