能否用JSP写一个在服务器端访问其他网站的asp文件,返回asp执行后的结果?
很惭愧,我不懂JSP。虚心向各位JSP版的XDJM们请教。
我用ASP写了一个网页,返回结果只是字符串的“1”或者“0”,连HTML标签也没有。
如果用客户端的AJAX访问就简单了。可是我希望用JSP写的网页在它的服务器端能够使用XMLHttpRequest或其他方式访问我的ASP网页,将ASP返回的字符串(1或0)保存在JSP的Session里。
要求:
1、最好写1个函数,名称是CheckAJAX,参数是访问的ASP的URL。函数内部用XMLHttpRequest或其他方式访问URL,返回ASP网页的结果,不使用异步访问。
如果用XMLHttpRequest,open方法的三个参数是 "GET "、URL、false。
2、这个JSP文件也需要代入两个参数:MyID和MyCode。这两个参数是提交到这个JSP文件的表单中文本框的名称。
用JSP实现类似下面代码的功能(我的是ASP代码):
/****开始****/
/*表单中名称为MyCode的文本框中输入了文字,asp代码*/
<%
If Request.Form( "MyCode ") <> " " Then
/*执行CheckAJAX函数,代入URL参数,将返回内容存入Session变量 "Result "中。
/*需要加入时间戳,使不能使用缓存。ASP的Timer可以返回从半夜零点开始到现在的毫秒数
Session( "Result ") = CheckAJAX( "http://www.AAAAA/Check.asp?TimeStamp= " & Timer & _
"&ID= " & Request.Form( "MyID ") & _
"&Code= " & Request.Form( "MyCode "))
End If
%>
<p> 这是HTML代码。URL返回结果是: <%=Session( "Result ")%> </p>
/*ASP代码*/
<%
If Session( "Result ") = "1 " Then
Response.Write( " <p> 是1 </p> ")
Else
Response.Write( " <p> 不是1 </p> ")
End If
%>
/****结束****/
3、请写出完整的包括HTML的代码。就是包括:
<html>
<head>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 " />
<title> 无标题文档 </title>
</head>
<body>
</body>
</html>
非常感激!
------解决方案--------------------这么多需求。。才50分
随手写个函数 楼主参考啦
public String CheckAJAX(String strUrl){
try{
URL url=new URL(strUrl);
HttpURLConnection con = (HttpURLConnection)url.openConnection();
DataInputStream in = new DataInputStream(new BufferedInputStream(con.getInputStream()));
InputStreamReader isr=new InputStreamReader(in);
BufferedReader bs=new BufferedReader(