日期:2014-05-18  浏览次数:20801 次

能否用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(