可以在.net应用程序中读取.jsp页面吗

可以在.net应用程序中读取.jsp页面吗,jsp,asp.net-mvc-4,webrequest,Jsp,Asp.net Mvc 4,Webrequest,我有一个来自第三方的.jsp页面,我需要从中获取信息。我的应用程序正在MVC4中开发。我将如何从应用程序中的这个.jsp文件中获取信息 我尝试使用webrequest,但内容不存在 关于FatemaJSP页面实际上必须由类似tomcat的Servlet容器呈现,因为包含的数据是动态的。这样您就可以用.net应用程序解析HTML输出了 这可能是唯一的办法。直接从jsp读取数据 无论如何,我建议您找到另一种方法来检索数据,比如向jsp所属的JavaEE应用程序添加API。或者访问现有的。我认为您有两

我有一个来自第三方的.jsp页面,我需要从中获取信息。我的应用程序正在MVC4中开发。我将如何从应用程序中的这个.jsp文件中获取信息

我尝试使用webrequest,但内容不存在


关于Fatema

JSP页面实际上必须由类似tomcat的Servlet容器呈现,因为包含的数据是动态的。这样您就可以用.net应用程序解析HTML输出了

这可能是唯一的办法。直接从jsp读取数据


无论如何,我建议您找到另一种方法来检索数据,比如向jsp所属的JavaEE应用程序添加API。或者访问现有的。

我认为您有两种选择:

第一个选项是使用Ajax在客户端执行此操作:(

代码可能看起来像:

function CallOtherSite(otherSiteUrl) {  
$.ajax({
    url: otherSiteUrl,
    cache: false,
    success: function (html) {
     //This will be the html from the other site
    //parse the html/xml and do what you need with it.
    }
});
因为这是在客户端用JavaScript完成的,所以您很可能会遇到CORS的问题。()

在我看来,另一个选择也是更好的选择是在服务器端执行此操作。(在控制器中或使用Razor的视图中)(在控制器中会容易得多…)

然后,您可以使用StreamReader来获取html/xml,并使用它做您想做的事情


希望这有帮助…

不可能。必须先编译JSP。编译后,您可以尝试请求它,然后从中删除数据。看起来您已经有了正确的答案,但“从中获取信息”是什么意思?你的意思是从服务器调用jsp并解析响应吗?可能是一个示例,说明你想要什么信息以及它当前是如何呈现给你的…@Jeff是的,我想解析响应此jsp页面是第三方提供给我的链接。但不幸的是,我找不到在.net中执行此操作的方法。我也尝试了javascript,但它似乎很有用有一些“同源策略”问题。与如何从应用程序解析jsp页面混淆。1-您对jsp有什么期望?(Hmlt,xml,json?)2-您是通过JS在客户端还是在控制器的服务器上尝试此操作?@Jeff json或xml都可以。我在客户端尝试此操作。当另一个方法没有时,此操作有效!+1!
try
{
    var request = (HttpWebRequest)WebRequest.Create(urlToOtherSite);
    request.Accept = "application/xml";
    request.Method = "GET";
    webResponse = (HttpWebResponse)request.GetResponse();
    sr = new StreamReader(webResponse.GetResponseStream());
    string responseText = sr.ReadToEnd();
}
catch(Exception ex)
{
}
finally
{
    if (sr != null) { sr.Close(); }
    if (webResponse != null) { webResponse.Close(); }
}