gpt4 book ai didi

java - 我发现发送接收参数有问题

转载 作者:太空宇宙 更新时间:2023-11-04 08:55:05 25 4
gpt4 key购买 nike

如何使用ajax将XML转换为HTML下拉列表?我使用 GET 方法发送参数,但生成 XML 的 JSP 文件没有收到它。

var url = "responsexml.jsp";
url = url + "?projectCode=" + prj.options[prj.selectedIndex].value;
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET", url, true);
xmlhttp.send(null);

然后在responsexml.jsp中我确实喜欢这样:

<% 
String projectcode = (String) request.getParameter("projectCode");
System.out.println("++++projectCode:=" + projectcode);
Session s = null;
Transaction tx;

try {
s = HibernateUtil.currentSession();
tx = s.beginTransaction();
Query query = s.createQuery("SELECT from Wa wa where wa.ProjectCode='" + projectcode + "'");
response.setContentType("text/xml");
PrintWriter output = response.getWriter();
output.write( "<?xml version=\"1.0\" encoding=\"utf-8\"?>");
//response.setHeader("Cache-Control", "no-cache");

if (projectcode != null) {
for (Iterator it = query.iterate(); it.hasNext();) {
if (it.hasNext()) {
Wa object = (Wa) it.next();
//out.print( "<item id=\"" + object.getIdWA() + "\" name=\"" + object.getWAName() + "\" />");
output.write("<wa>");
output.write( "<item id=\"" + object.getIdWA() + "\" name=\"" + object.getWAName() + "\" />");
output.write("</wa>");
}
}
}
} catch (HibernateException e) {
e.printStackTrace();
}
%>
</body>
</html>

使用此代码我没有 XML 文件。我收到此错误:

The server did not understand the request, or the request was invalid. Erreur de traitement de la ressource http://www.w3.o...

最佳答案

可以肯定的是:这是整个 JSP 文件吗?该错误消息表明您有一个 <!DOCTYPE>在它的顶部,它指向 w3.org 上的 DTD,但相关的网络浏览器无法加载它。该错误消息还表明您正在使用 IE 来测试这一切,众所周知,该网络浏览器在打开 http://localhost 中的 XML 文件时具有奇怪的限制和怪癖。 。尝试使用更合适的网络浏览器,例如 Firefox .

此外,我发现这种方法存在几个缺陷:

  1. </body></html>实际上不属于 JSP 底部。删除它们。
  2. JSP 不适合这项工作。使用 Servlet。
  3. if (it.hasNext())一 block 是多余的,因为它已经由 for 处理过。声明。
  4. XML 应该有一个根元素。现在你正在写多个 <wa>元素。
  5. SQL容易受到SQL注入(inject)攻击。利用命名查询。

不是真正的问题,而是更多的建议,我建议看看jQuery以良好、简洁且跨浏览器兼容的方式触发 ajaxical 请求并进行 DOM 操作。

关于java - 我发现发送接收参数有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2493581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com