js调用jsp的问题
在htm静态网页中,用js调用一个jsp页面,由jsp页面查询数据库,把查询的结果再在这个html页面上用js代码展现出来,是否可行?如果可行的话能不能写一个简单的例子,...
在htm静态网页中,用js调用一个jsp页面,由jsp页面查询数据库,把查询的结果再在这个html页面上用js代码展现出来,是否可行?
如果可行的话能不能写一个简单的例子,主要是js调用jsp和jsp查询结果返回js这块儿,谢谢 展开
如果可行的话能不能写一个简单的例子,主要是js调用jsp和jsp查询结果返回js这块儿,谢谢 展开
6个回答
2015-12-13 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
js中不能直接调用jsp,要获取数据可以通过ajax接口异步获取,然后在jsp上展示。
function validate() {
//获取表单提交的内容
var idField = document.getElementById("userName");
//访问validate.do这个servlet,同时把获取的表单内容idField加入url字符串,以便传递给validate.do
var url = "validate.do?id=" + escape(idField.value);
//创建一个XMLHttpRequest对象req
if(window.XMLHttpRequest) {
//IE7, Firefox, Opera支持
req = new XMLHttpRequest();
}else if(window.ActiveXObject) {
//IE5,IE6支持
req = new ActiveXObject("Microsoft.XMLHTTP");
}
/*
open(String method,String url, boolean )函数有3个参数
method参数指定向servlet发送请求所使用的方法,有GET,POST等
boolean值指定是否异步,true为使用,false为不使用。
我们使用异步才能体会到Ajax强大的异步功能。
*/
req.open("GET", url, true);
//onreadystatechange属性存有处理服务器响应的函数,有5个取值分别代表不同状态
req.onreadystatechange = callback;
//send函数发送请求
req.send(null);
}
function callback() {
if(req.readyState == 4 && req.status == 200) {
var check = req.responseText;
show (check);
}
}
function show(str) {
if(str == "OK") {
var show = "<font color='green'>恭喜!!用户名可用!</font>";
document.getElementById("info").innerHTML = show;
}
else if( str == "NO") {
var show = "<font color='red'>对不起,用户名不可用!!请重新输入!</font>";
document.getElementById("info").innerHTML = show;
}
}
function validate() {
//获取表单提交的内容
var idField = document.getElementById("userName");
//访问validate.do这个servlet,同时把获取的表单内容idField加入url字符串,以便传递给validate.do
var url = "validate.do?id=" + escape(idField.value);
//创建一个XMLHttpRequest对象req
if(window.XMLHttpRequest) {
//IE7, Firefox, Opera支持
req = new XMLHttpRequest();
}else if(window.ActiveXObject) {
//IE5,IE6支持
req = new ActiveXObject("Microsoft.XMLHTTP");
}
/*
open(String method,String url, boolean )函数有3个参数
method参数指定向servlet发送请求所使用的方法,有GET,POST等
boolean值指定是否异步,true为使用,false为不使用。
我们使用异步才能体会到Ajax强大的异步功能。
*/
req.open("GET", url, true);
//onreadystatechange属性存有处理服务器响应的函数,有5个取值分别代表不同状态
req.onreadystatechange = callback;
//send函数发送请求
req.send(null);
}
function callback() {
if(req.readyState == 4 && req.status == 200) {
var check = req.responseText;
show (check);
}
}
function show(str) {
if(str == "OK") {
var show = "<font color='green'>恭喜!!用户名可用!</font>";
document.getElementById("info").innerHTML = show;
}
else if( str == "NO") {
var show = "<font color='red'>对不起,用户名不可用!!请重新输入!</font>";
document.getElementById("info").innerHTML = show;
}
}
展开全部
JS是在客户端进行运算的,JSP是在服务器端进行运算的,你可以使用JS调用JSP的结果,但是两个不能镶套。
counter.jsp
<%@ page contentType="text/html;charset=GB2312"%>
document.write("HELLO");
index.htm
<script type="text/javascript" src="counter.jsp"> </script>
counter.jsp
<%@ page contentType="text/html;charset=GB2312"%>
document.write("HELLO");
index.htm
<script type="text/javascript" src="counter.jsp"> </script>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
js在客户端调用java代码或者jsp的情况有
1:applet中用js调用applet的方法或属性 这是吧applet当成了一个节点来处理 对浏览器有要求
2:ajax中给服务器发送string不过这其实还是在服务器端运行 只是显示的快一点 刷新的少一点
3:用vj++开发的active控件实现了java与ws的无缝连接 强大 不过ie才有用
4:其实你只要使用jrun作为容器就可以在服务器编程的时候实现js还有java代码的嵌套 即可以有js来判定合适的使用java还有jsp
java调用js估计要使用到第三方的软件包 netscape.javascript.jsobject
1:applet中用js调用applet的方法或属性 这是吧applet当成了一个节点来处理 对浏览器有要求
2:ajax中给服务器发送string不过这其实还是在服务器端运行 只是显示的快一点 刷新的少一点
3:用vj++开发的active控件实现了java与ws的无缝连接 强大 不过ie才有用
4:其实你只要使用jrun作为容器就可以在服务器编程的时候实现js还有java代码的嵌套 即可以有js来判定合适的使用java还有jsp
java调用js估计要使用到第三方的软件包 netscape.javascript.jsobject
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
js调用java
可以在网页里使用
<script language=javascript>
document.applets[0].java中的方法名
</script>
可以对applet进行控制,也可以从applet返回值。
返回值无需关心值得类型,js会隐式的转换。
传值到applet中应考虑类型匹配。
java调用js
需要导入netscape.javascript.jsobject这个类
比如:
jsobject window=jsobject.getwindow(this);
jsobject window=(jsobject)window.getmember("document");
来获取对当前窗口的控制权。
可以在网页里使用
<script language=javascript>
document.applets[0].java中的方法名
</script>
可以对applet进行控制,也可以从applet返回值。
返回值无需关心值得类型,js会隐式的转换。
传值到applet中应考虑类型匹配。
java调用js
需要导入netscape.javascript.jsobject这个类
比如:
jsobject window=jsobject.getwindow(this);
jsobject window=(jsobject)window.getmember("document");
来获取对当前窗口的控制权。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我想楼上理解错楼主的意思了
其实楼主想说的应该就是ajax的应用。
随便写一个
html页面:
<script>
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");
xmlhttp.open("GET", "http://localhost/result.jsp", false);
xmlhttp.send();
document.getElementById("area").innerHTML=xmlhttp.responseText;
</script>
<div id="area"></div>
result.jsp
那页就直接去查询输入成相应的html代码就行
建议你去了解下AJAX的有关内容
其实楼主想说的应该就是ajax的应用。
随便写一个
html页面:
<script>
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");
xmlhttp.open("GET", "http://localhost/result.jsp", false);
xmlhttp.send();
document.getElementById("area").innerHTML=xmlhttp.responseText;
</script>
<div id="area"></div>
result.jsp
那页就直接去查询输入成相应的html代码就行
建议你去了解下AJAX的有关内容
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询