栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从javascript调用Java servlet

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从javascript调用Java servlet

因此,您想将Ajax调用激发到servlet吗?为此,您需要

XMLHttpRequest
Javascript中的对象。这是Firefox兼容的示例:

<script>    var xhr = new XMLHttpRequest();    xhr.onreadystatechange = function() {        if (xhr.readyState == 4) { var data = xhr.responseText; alert(data);        }    }    xhr.open('GET', '${pageContext.request.contextPath}/myservlet', true);    xhr.send(null);</script>

但是,这非常冗长,并且不完全兼容跨浏览器。对于引发Ajaxical请求和遍历HTMLDOM树的最佳跨浏览器兼容方式,我建议使用jQuery。这是对jQuery的重写:

<script src="http://pre.jquery.com/jquery-latest.min.js"></script><script>    $.get('${pageContext.request.contextPath}/myservlet', function(data) {        alert(data);    });</script>

无论哪种方式,服务器上的Servlet都应映射到的

url-pattern
/myservlet
(您可以根据自己的喜好进行更改),并且至少已
doGet()
实现并将数据写入响应,如下所示:

String data = "Hello World!";response.setContentType("text/plain");response.setCharacterEncoding("UTF-8");response.getWriter().write(data);

这应该显示

Hello World!
在Javascript警报中。

您当然也可以使用

doPost()
,但是您应该在jQuery中使用
'POST'
in
xhr.open()
或use
$.post()
代替
$.get()

然后,要在HTML页面中显示数据,您需要操纵HTMLDOM。例如,您有一个

<div id="data"></div>

在您想要显示响应数据的HTML中,则可以代替

alert(data)
第一个示例:

document.getElementById("data").firstChild.nodevalue = data;

在jQuery示例中,您可以以更简洁,更漂亮的方式执行此操作:

$('#data').text(data);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/432374.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号