接收XML
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import="java.io.*,org.apache.xerces.parsers.DOMParser,org.w3c.dom.*" %><%
//定义一个StringBuffer对象,用来接收请求参数
StringBuffer sb = new StringBuffer();
String line = null;
//通过request获取输入流
BufferedReader br = request.getReader();
//依次读取输入流的数据
while((line = br.readLine()) != null) {
sb.append(line);
}
//将输入流中的内容转换成字符串
String xml = sb.toString();
//构建DOM解析器
DOMParser dp = new DOMParser();
dp.parse(xml);
//获取文档对象
Document doc = dp.getDocument();
//获取根节点
Element root = doc.getDocumentElement();
//
NodeList nl = root.getElementsByTagName("*");
//定义服务器响应的结果
String result = "";
for (int i=0; i<nl.getLength(); i++) {
Element city = (Element)nl.item(i);
if (city.getNodeValue().equals("1")) {
result += "上海$北京$常州";
} else if (city.getNodeValue().equals("2")) {
result += "$华盛顿$休斯顿$纽约";
} else if (city.getNodeValue().equals("3")) {
result += "$东京$大坂$福冈";
}
}
out.println(result);
%>
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import="java.io.*,org.apache.xerces.parsers.DOMParser,org.w3c.dom.*" %><%
//定义一个StringBuffer对象,用来接收请求参数
StringBuffer sb = new StringBuffer();
String line = null;
//通过request获取输入流
BufferedReader br = request.getReader();
//依次读取输入流的数据
while((line = br.readLine()) != null) {
sb.append(line);
}
//将输入流中的内容转换成字符串
String xml = sb.toString();
//构建DOM解析器
DOMParser dp = new DOMParser();
dp.parse(xml);
//获取文档对象
Document doc = dp.getDocument();
//获取根节点
Element root = doc.getDocumentElement();
//
NodeList nl = root.getElementsByTagName("*");
//定义服务器响应的结果
String result = "";
for (int i=0; i<nl.getLength(); i++) {
Element city = (Element)nl.item(i);
if (city.getNodeValue().equals("1")) {
result += "上海$北京$常州";
} else if (city.getNodeValue().equals("2")) {
result += "$华盛顿$休斯顿$纽约";
} else if (city.getNodeValue().equals("3")) {
result += "$东京$大坂$福冈";
}
}
out.println(result);
%>
解决方案 »
- struts2 整合spring后 从jsp页面提交上来的是乱码(新注册的,没多少分给您,不好意思,但求好心人)
- SSH整合问题
- JSP报错Unterminated <sx:head tag
- java.lang.ClassCastException: 报这个错误
- struts1中多个请求页面访问同一个action,每次访问都会执行自己的execute方法吗
- 在线等~~ JAVA和域控制器的问题~~~
- xfire webservice 乱码
- 请问怎么把文件或图片写入数据库,然后又从数据库中读出来啊?
- JBoss部署ejb的问题,谁能帮忙看看
- 在JavaBean中如何获取WEB的根目录?
- 在线的各位前辈,我明天要去面试了。脑子里一片空白,那位大虾帮我总结一下关于SSH可能问到的问题啊!!
- tapestry 中 如何实现 JSP中 <@jsp:include/> 的功能?
严重: Servlet.service() for servlet jsp threw exception
org.xml.sax.SAXParseException: File "<countrys><city>2</city></countrys>" not found.
at org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1202)
at org.apache.xerces.readers.DefaultEntityHandler.startReadingFromDocument(DefaultEntityHandler.java:499)
at org.apache.xerces.framework.XMLParser.parseSomeSetup(XMLParser.java:312)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1080)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1122)
at org.apache.jsp.xmlHttpRequest.incerptXml_jsp._jspService(incerptXml_jsp.java:63)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:414)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:595)
function createXml() {
var xml = "<countrys>";
var ops = document.getElementById("first").childNodes;
var op;
for (i=0; i<ops.length; i++) {
op = ops[i];
//如果某个选项被选中
if (op.selected) {
var xml = xml + "<city>" + op.value + "<\/city>";
}
}
//结束XML根节点
xml = xml + "<\/countrys>";
return xml;
}
xml=" <countrys> <city>"+ op.value +"</city> </countrys>"
function send() {
createXMLHttpRequest(); //初始化
var url = "incerptXml.jsp";
xhr.open("POST", url, true);
xhr.onreadystatechange = processRequest;
xhr.send(createXml());
}
//将输入流中的内容转换成字符串
String xml = sb.toString();
sendXml.html这个文件没有问题,就是incerpt.jsp有问题,用DOM如何解析?